home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / AIncludes / ImageCompression.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  95.5 KB  |  3,151 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        ImageCompression.a
  3. ;
  4. ;    Contains:    QuickTime Image Compression Interfaces.
  5. ;
  6. ;    Version:    Technology:    QuickTime 3.0
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
  18. __IMAGECOMPRESSION__ SET 1
  19.  
  20.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  21.     include 'MacTypes.a'
  22.     ENDIF
  23.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  24.     include 'Quickdraw.a'
  25.     ENDIF
  26.     IF &TYPE('__QDOFFSCREEN__') = 'UNDEFINED' THEN
  27.     include 'QDOffscreen.a'
  28.     ENDIF
  29.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  30.     include 'Components.a'
  31.     ENDIF
  32.     IF &TYPE('__STANDARDFILE__') = 'UNDEFINED' THEN
  33.     include 'StandardFile.a'
  34.     ENDIF
  35.  
  36. MatrixRecord            RECORD 0
  37. matrix                     ds.l    3 * 3            ; offset: $0 (0)
  38. sizeof                     EQU *                    ; size:   $24 (36)
  39.                         ENDR
  40. ; typedef struct MatrixRecord *            MatrixRecordPtr
  41.  
  42.  
  43. FixedPoint                RECORD 0
  44. x                         ds.l    1                ; offset: $0 (0)
  45. y                         ds.l    1                ; offset: $4 (4)
  46. sizeof                     EQU *                    ; size:   $8 (8)
  47.                         ENDR
  48.  
  49. FixedRect                RECORD 0
  50. left                     ds.l    1                ; offset: $0 (0)
  51. top                         ds.l    1                ; offset: $4 (4)
  52. right                     ds.l    1                ; offset: $8 (8)
  53. bottom                     ds.l    1                ; offset: $C (12)
  54. sizeof                     EQU *                    ; size:   $10 (16)
  55.                         ENDR
  56.  
  57. kRawCodecType                    EQU        'raw '
  58. kCinepakCodecType                EQU        'cvid'
  59. kGraphicsCodecType                EQU        'smc '
  60. kAnimationCodecType                EQU        'rle '
  61. kVideoCodecType                    EQU        'rpza'
  62. kComponentVideoCodecType        EQU        'yuv2'
  63. kJPEGCodecType                    EQU        'jpeg'
  64. kMotionJPEGACodecType            EQU        'mjpa'
  65. kMotionJPEGBCodecType            EQU        'mjpb'
  66. kSGICodecType                    EQU        '.SGI'
  67. kPlanarRGBCodecType                EQU        '8BPS'
  68. kMacPaintCodecType                EQU        'PNTG'
  69. kGIFCodecType                    EQU        'gif '
  70. kPhotoCDCodecType                EQU        'kpcd'
  71. kQuickDrawGXCodecType            EQU        'qdgx'
  72. kAVRJPEGCodecType                EQU        'avr '
  73. kOpenDMLJPEGCodecType            EQU        'dmb1'
  74. kBMPCodecType                    EQU        'WRLE'
  75. kWindowsRawCodecType            EQU        'WRAW'
  76. kVectorCodecType                EQU        'path'
  77. kQuickDrawCodecType                EQU        'qdrw'
  78. kWaterRippleCodecType            EQU        'ripl'
  79. kFireCodecType                    EQU        'fire'
  80. kCloudCodecType                    EQU        'clou'
  81. kH261CodecType                    EQU        'h261'
  82. kH263CodecType                    EQU        'h263'
  83. kDVCNTSCCodecType                EQU        'dvc '
  84. kDVCPALCodecType                EQU        'dvcp'
  85. kDVCProNTSCCodecType            EQU        'dvpn'
  86. kDVCProPALCodecType                EQU        'dvpp'
  87. kBaseCodecType                    EQU        'base'
  88. kFLCCodecType                    EQU        'flic'
  89. kTargaCodecType                    EQU        'tga '                ;    NOTE: despite what might seem obvious from the two constants
  90.                                                             ;    below and their names, they really are correct. 'yuvu' really 
  91.                                                             ;    does mean signed, and 'yuvs' really does mean unsigned. Really. 
  92. kComponentVideoSigned            EQU        'yuvu'
  93. kComponentVideoUnsigned            EQU        'yuvs'
  94. kCMYKCodecType                    EQU        'cmyk'
  95. kMicrosoftVideo1CodecType        EQU        'msvc'
  96. kSorensonCodecType                EQU        'SVQ1'
  97. kIndeo4CodecType                EQU        'IV41'
  98.  
  99. ;  one source effects 
  100.  
  101. kBlurImageFilterType            EQU        'blur'
  102. kSharpenImageFilterType            EQU        'shrp'
  103. kEdgeDetectImageFilterType        EQU        'edge'
  104. kEmbossImageFilterType            EQU        'embs'
  105. kConvolveImageFilterType        EQU        'genk'
  106. kAlphaGainImageFilterType        EQU        'gain'
  107. kRGBColorBalanceImageFilterType    EQU        'rgbb'
  108. kHSLColorBalanceImageFilterType    EQU        'hslb'
  109. kColorSyncImageFilterType        EQU        'sync'
  110. kFilmNoiseImageFilterType        EQU        'fmns'
  111. kSolarizeImageFilterType        EQU        'solr'
  112. kColorTintImageFilterType        EQU        'tint'
  113. ;  two source effects 
  114.  
  115. kAlphaCompositorTransitionType    EQU        'blnd'
  116. kCrossFadeTransitionType        EQU        'dslv'
  117. kChromaKeyTransitionType        EQU        'ckey'
  118. kImplodeTransitionType            EQU        'mplo'
  119. kExplodeTransitionType            EQU        'xplo'
  120. kGradientTransitionType            EQU        'matt'
  121. kPushTransitionType                EQU        'push'
  122. kSlideTransitionType            EQU        'slid'
  123. kWipeTransitionType                EQU        'smpt'
  124. kIrisTransitionType                EQU        'smp2'
  125. kRadialTransitionType            EQU        'smp3'
  126. kMatrixTransitionType            EQU        'smp4'
  127. ;  These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  128.  
  129. codecInfoDoes1                    EQU        $00000001            ; codec can work with 1-bit pixels 
  130. codecInfoDoes2                    EQU        $00000002            ; codec can work with 2-bit pixels 
  131. codecInfoDoes4                    EQU        $00000004            ; codec can work with 4-bit pixels 
  132. codecInfoDoes8                    EQU        $00000008            ; codec can work with 8-bit pixels 
  133. codecInfoDoes16                    EQU        $00000010            ; codec can work with 16-bit pixels 
  134. codecInfoDoes32                    EQU        $00000020            ; codec can work with 32-bit pixels 
  135. codecInfoDoesDither                EQU        $00000040            ; codec can do ditherMode 
  136. codecInfoDoesStretch            EQU        $00000080            ; codec can stretch to arbitrary sizes 
  137. codecInfoDoesShrink                EQU        $00000100            ; codec can shrink to arbitrary sizes 
  138. codecInfoDoesMask                EQU        $00000200            ; codec can mask to clipping regions 
  139. codecInfoDoesTemporal            EQU        $00000400            ; codec can handle temporal redundancy 
  140. codecInfoDoesDouble                EQU        $00000800            ; codec can stretch to double size exactly 
  141. codecInfoDoesQuad                EQU        $00001000            ; codec can stretch to quadruple size exactly 
  142. codecInfoDoesHalf                EQU        $00002000            ; codec can shrink to half size 
  143. codecInfoDoesQuarter            EQU        $00004000            ; codec can shrink to quarter size 
  144. codecInfoDoesRotate                EQU        $00008000            ; codec can rotate on decompress 
  145. codecInfoDoesHorizFlip            EQU        $00010000            ; codec can flip horizontally on decompress 
  146. codecInfoDoesVertFlip            EQU        $00020000            ; codec can flip vertically on decompress 
  147. codecInfoHasEffectParameterList    EQU        $00040000            ; codec implements get effects parameter list call, once was codecInfoDoesSkew 
  148. codecInfoDoesBlend                EQU        $00080000            ; codec can blend on decompress 
  149. codecInfoDoesWarp                EQU        $00100000            ; codec can warp arbitrarily on decompress 
  150. codecInfoDoesRecompress            EQU        $00200000            ; codec can recompress image without accumulating errors 
  151. codecInfoDoesSpool                EQU        $00400000            ; codec can spool image data 
  152. codecInfoDoesRateConstrain        EQU        $00800000            ; codec can data rate constrain 
  153.  
  154.  
  155. codecInfoDepth1                    EQU        $00000001            ; compressed data at 1 bpp depth available 
  156. codecInfoDepth2                    EQU        $00000002            ; compressed data at 2 bpp depth available 
  157. codecInfoDepth4                    EQU        $00000004            ; compressed data at 4 bpp depth available 
  158. codecInfoDepth8                    EQU        $00000008            ; compressed data at 8 bpp depth available 
  159. codecInfoDepth16                EQU        $00000010            ; compressed data at 16 bpp depth available 
  160. codecInfoDepth32                EQU        $00000020            ; compressed data at 32 bpp depth available 
  161. codecInfoDepth24                EQU        $00000040            ; compressed data at 24 bpp depth available 
  162. codecInfoDepth33                EQU        $00000080            ; compressed data at 1 bpp monochrome depth  available 
  163. codecInfoDepth34                EQU        $00000100            ; compressed data at 2 bpp grayscale depth available 
  164. codecInfoDepth36                EQU        $00000200            ; compressed data at 4 bpp grayscale depth available 
  165. codecInfoDepth40                EQU        $00000400            ; compressed data at 8 bpp grayscale depth available 
  166. codecInfoStoresClut                EQU        $00000800            ; compressed data can have custom cluts 
  167. codecInfoDoesLossless            EQU        $00001000            ; compressed data can be stored in lossless format 
  168. codecInfoSequenceSensitive        EQU        $00002000            ; compressed data is sensitive to out of sequence decoding 
  169.  
  170. ;  input sequence flags
  171.  
  172. codecFlagUseImageBuffer            EQU        $00000001            ; decompress
  173. codecFlagUseScreenBuffer        EQU        $00000002            ; decompress
  174. codecFlagUpdatePrevious            EQU        $00000004            ; compress
  175. codecFlagNoScreenUpdate            EQU        $00000008            ; decompress
  176. codecFlagWasCompressed            EQU        $00000010            ; compress
  177. codecFlagDontOffscreen            EQU        $00000020            ; decompress
  178. codecFlagUpdatePreviousComp        EQU        $00000040            ; compress
  179. codecFlagForceKeyFrame            EQU        $00000080            ; compress
  180. codecFlagOnlyScreenUpdate        EQU        $00000100            ; decompress
  181. codecFlagLiveGrab                EQU        $00000200            ; compress
  182. codecFlagDontUseNewImageBuffer    EQU        $00000400            ; decompress
  183. codecFlagInterlaceUpdate        EQU        $00000800            ; decompress
  184. codecFlagCatchUpDiff            EQU        $00001000            ; decompress
  185. codecFlagSupportDisable            EQU        $00002000            ; decompress
  186. codecFlagReenable                EQU        $00004000            ; decompress
  187. ;  output sequence flags
  188.  
  189. codecFlagOutUpdateOnDataSourceChange EQU $00000400
  190. codecFlagSequenceSensitive        EQU        $00000800
  191. codecFlagOutUpdateOnTimeChange    EQU        $00001000
  192. codecFlagImageBufferNotSourceImage EQU    $00002000
  193. codecFlagUsedNewImageBuffer        EQU        $00004000
  194. codecFlagUsedImageBuffer        EQU        $00008000
  195.  
  196.  
  197.  
  198.  
  199.                                                             ; The minimum data size for spooling in or out data 
  200. codecMinimumDataSize            EQU        32768
  201.  
  202.  
  203.  
  204. compressorComponentType            EQU        'imco'                ; the type for "Components" which compress images 
  205. decompressorComponentType        EQU        'imdc'                ; the type for "Components" which decompress images 
  206. ; typedef Component                     CompressorComponent
  207.  
  208. ; typedef Component                     DecompressorComponent
  209.  
  210. ; typedef Component                     CodecComponent
  211.  
  212.  
  213. anyCodec                        EQU        0                    ; take first working codec of given type 
  214. bestSpeedCodec                    EQU        -1                    ; take fastest codec of given type 
  215. bestFidelityCodec                EQU        -2                    ; take codec which is most accurate 
  216. bestCompressionCodec            EQU        -3                    ; take codec of given type that is most accurate 
  217. ; typedef OSType                         CodecType
  218.  
  219. ; typedef unsigned short                 CodecFlags
  220.  
  221. ; typedef unsigned long                 CodecQ
  222.  
  223.  
  224. codecLosslessQuality            EQU        $00000400
  225. codecMaxQuality                    EQU        $000003FF
  226. codecMinQuality                    EQU        $00000000
  227. codecLowQuality                    EQU        $00000100
  228. codecNormalQuality                EQU        $00000200
  229. codecHighQuality                EQU        $00000300
  230.  
  231. codecLockBitsShieldCursor        EQU        $01                    ; shield cursor 
  232.  
  233. codecCompletionSource            EQU        $01                    ; asynchronous codec is done with source data 
  234. codecCompletionDest                EQU        $02                    ; asynchronous codec is done with destination data 
  235. codecCompletionDontUnshield        EQU        $04                    ; on dest complete don't unshield cursor 
  236. codecCompletionWentOffscreen    EQU        $08                    ; codec used offscreen buffer 
  237. codecCompletionUnlockBits        EQU        $10                    ; on dest complete, call ICMSequenceUnlockBits 
  238. codecCompletionForceChainFlush    EQU        $20                    ; ICM needs to flush the whole chain 
  239. codecCompletionDropped            EQU        $40                    ; codec decided to drop this frame 
  240.  
  241. codecProgressOpen                EQU        0
  242. codecProgressUpdatePercent        EQU        1
  243. codecProgressClose                EQU        2
  244. ; typedef void *                        ICMCursorNotify
  245.  
  246. ; typedef long                             ImageSequence
  247.  
  248. ; typedef long                             ImageSequenceDataSource
  249.  
  250. ; typedef long                             ImageTranscodeSequence
  251.  
  252. ; typedef long                             ImageFieldSequence
  253.  
  254. ICMProgressProcRecord    RECORD 0
  255. progressProc             ds.l    1                ; offset: $0 (0)
  256. progressRefCon             ds.l    1                ; offset: $4 (4)
  257. sizeof                     EQU *                    ; size:   $8 (8)
  258.                         ENDR
  259. ; typedef struct ICMProgressProcRecord * ICMProgressProcRecordPtr
  260.  
  261. ICMCompletionProcRecord    RECORD 0
  262. completionProc             ds.l    1                ; offset: $0 (0)
  263. completionRefCon         ds.l    1                ; offset: $4 (4)
  264. sizeof                     EQU *                    ; size:   $8 (8)
  265.                         ENDR
  266. ; typedef struct ICMCompletionProcRecord * ICMCompletionProcRecordPtr
  267.  
  268. ICMDataProcRecord        RECORD 0
  269. dataProc                 ds.l    1                ; offset: $0 (0)
  270. dataRefCon                 ds.l    1                ; offset: $4 (4)
  271. sizeof                     EQU *                    ; size:   $8 (8)
  272.                         ENDR
  273. ; typedef struct ICMDataProcRecord *    ICMDataProcRecordPtr
  274.  
  275. ICMFlushProcRecord        RECORD 0
  276. flushProc                 ds.l    1                ; offset: $0 (0)
  277. flushRefCon                 ds.l    1                ; offset: $4 (4)
  278. sizeof                     EQU *                    ; size:   $8 (8)
  279.                         ENDR
  280. ; typedef struct ICMFlushProcRecord *    ICMFlushProcRecordPtr
  281.  
  282. ICMAlignmentProcRecord    RECORD 0
  283. alignmentProc             ds.l    1                ; offset: $0 (0)
  284. alignmentRefCon             ds.l    1                ; offset: $4 (4)
  285. sizeof                     EQU *                    ; size:   $8 (8)
  286.                         ENDR
  287. ; typedef struct ICMAlignmentProcRecord * ICMAlignmentProcRecordPtr
  288.  
  289. DataRateParams            RECORD 0
  290. dataRate                 ds.l    1                ; offset: $0 (0)
  291. dataOverrun                 ds.l    1                ; offset: $4 (4)
  292. frameDuration             ds.l    1                ; offset: $8 (8)
  293. keyFrameRate             ds.l    1                ; offset: $C (12)
  294. minSpatialQuality         ds.l    1                ; offset: $10 (16)
  295. minTemporalQuality         ds.l    1                ; offset: $14 (20)
  296. sizeof                     EQU *                    ; size:   $18 (24)
  297.                         ENDR
  298. ; typedef struct DataRateParams *        DataRateParamsPtr
  299.  
  300. ImageDescription        RECORD 0
  301. idSize                     ds.l    1                ; offset: $0 (0)        ;  total size of ImageDescription including extra data ( CLUTs and other per sequence data ) 
  302. cType                     ds.l    1                ; offset: $4 (4)        ;  what kind of codec compressed this data 
  303. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for Apple use 
  304. resvd2                     ds.w    1                ; offset: $C (12)        ;  reserved for Apple use 
  305. dataRefIndex             ds.w    1                ; offset: $E (14)        ;  set to zero  
  306. version                     ds.w    1                ; offset: $10 (16)        ;  which version is this data 
  307. revisionLevel             ds.w    1                ; offset: $12 (18)        ;  what version of that codec did this 
  308. vendor                     ds.l    1                ; offset: $14 (20)        ;  whose  codec compressed this data 
  309. temporalQuality             ds.l    1                ; offset: $18 (24)        ;  what was the temporal quality factor  
  310. spatialQuality             ds.l    1                ; offset: $1C (28)        ;  what was the spatial quality factor 
  311. width                     ds.w    1                ; offset: $20 (32)        ;  how many pixels wide is this data 
  312. height                     ds.w    1                ; offset: $22 (34)        ;  how many pixels high is this data 
  313. hRes                     ds.l    1                ; offset: $24 (36)        ;  horizontal resolution 
  314. vRes                     ds.l    1                ; offset: $28 (40)        ;  vertical resolution 
  315. dataSize                 ds.l    1                ; offset: $2C (44)        ;  if known, the size of data for this image descriptor 
  316. frameCount                 ds.w    1                ; offset: $30 (48)        ;  number of frames this description applies to 
  317. name                     ds        Str31            ; offset: $32 (50)        ;  name of codec ( in case not installed )  
  318. depth                     ds.w    1                ; offset: $52 (82)        ;  what depth is this data (1-32) or ( 33-40 grayscale ) 
  319. clutID                     ds.w    1                ; offset: $54 (84)        ;  clut id or if 0 clut follows  or -1 if no clut 
  320. sizeof                     EQU *                    ; size:   $56 (86)
  321.                         ENDR
  322. ; typedef struct ImageDescription *        ImageDescriptionPtr
  323.  
  324. ; typedef ImageDescriptionPtr *            ImageDescriptionHandle
  325.  
  326. CodecInfo                RECORD 0
  327. typeName                 ds        Str31            ; offset: $0 (0)        ;  name of the codec type i.e.: 'Apple Image Compression' 
  328. version                     ds.w    1                ; offset: $20 (32)        ;  version of the codec data that this codec knows about 
  329. revisionLevel             ds.w    1                ; offset: $22 (34)        ;  revision level of this codec i.e: 0x00010001 (1.0.1) 
  330. vendor                     ds.l    1                ; offset: $24 (36)        ;  Maker of this codec i.e: 'appl' 
  331. decompressFlags             ds.l    1                ; offset: $28 (40)        ;  codecInfo flags for decompression capabilities 
  332. compressFlags             ds.l    1                ; offset: $2C (44)        ;  codecInfo flags for compression capabilities 
  333. formatFlags                 ds.l    1                ; offset: $30 (48)        ;  codecInfo flags for compression format details 
  334. compressionAccuracy         ds.b    1                ; offset: $34 (52)        ;  measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  335. decompressionAccuracy     ds.b    1                ; offset: $35 (53)        ;  measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  336. compressionSpeed         ds.w    1                ; offset: $36 (54)        ;  ( millisecs for compressing 320x240 on base mac II) (0 if unknown)  
  337. decompressionSpeed         ds.w    1                ; offset: $38 (56)        ;  ( millisecs for decompressing 320x240 on mac II)(0 if unknown)  
  338. compressionLevel         ds.b    1                ; offset: $3A (58)        ;  measure (1-255) of compression level of this codec (0 if unknown)  
  339. resvd                     ds.b    1                ; offset: $3B (59)        ;  pad 
  340. minimumHeight             ds.w    1                ; offset: $3C (60)        ;  minimum height of image (block size) 
  341. minimumWidth             ds.w    1                ; offset: $3E (62)        ;  minimum width of image (block size) 
  342. decompressPipelineLatency  ds.w    1                ; offset: $40 (64)        ;  in milliseconds ( for asynchronous codecs ) 
  343. compressPipelineLatency     ds.w    1                ; offset: $42 (66)        ;  in milliseconds ( for asynchronous codecs ) 
  344. privateData                 ds.l    1                ; offset: $44 (68)
  345. sizeof                     EQU *                    ; size:   $48 (72)
  346.                         ENDR
  347. CodecNameSpec            RECORD 0
  348. codec                     ds.l    1                ; offset: $0 (0)
  349. cType                     ds.l    1                ; offset: $4 (4)
  350. typeName                 ds        Str31            ; offset: $8 (8)
  351. name                     ds.l    1                ; offset: $28 (40)
  352. sizeof                     EQU *                    ; size:   $2C (44)
  353.                         ENDR
  354. CodecNameSpecList        RECORD 0
  355. count                     ds.w    1                ; offset: $0 (0)
  356. list                     ds        CodecNameSpec    ; offset: $2 (2) <-- really an array of length one
  357. sizeof                     EQU *                    ; size:   $2E (46)
  358.                         ENDR
  359. ; typedef struct CodecNameSpecList *    CodecNameSpecListPtr
  360.  
  361.  
  362. defaultDither                    EQU        0
  363. forceDither                        EQU        1
  364. suppressDither                    EQU        2
  365. useColorMatching                EQU        4
  366.  
  367. callStdBits                        EQU        1
  368. callOldBits                        EQU        2
  369. noDefaultOpcodes                EQU        4
  370.  
  371. graphicsModeStraightAlpha        EQU        256
  372. graphicsModePreWhiteAlpha        EQU        257
  373. graphicsModePreBlackAlpha        EQU        258
  374. graphicsModeComposition            EQU        259
  375. graphicsModeStraightAlphaBlend    EQU        260
  376. graphicsModePreMulColorAlpha    EQU        261
  377.  
  378. evenField1ToEvenFieldOut        EQU        $01
  379. evenField1ToOddFieldOut            EQU        $02
  380. oddField1ToEvenFieldOut            EQU        $04
  381. oddField1ToOddFieldOut            EQU        $08
  382. evenField2ToEvenFieldOut        EQU        $10
  383. evenField2ToOddFieldOut            EQU        $20
  384. oddField2ToEvenFieldOut            EQU        $40
  385. oddField2ToOddFieldOut            EQU        $80
  386.  
  387. icmFrameTimeHasVirtualStartTimeAndDuration EQU $01
  388. ICMFrameTimeRecord        RECORD 0
  389. value                     ds        wide            ; offset: $0 (0)        ;  frame time
  390. scale                     ds.l    1                ; offset: $8 (8)        ;  timescale of value/duration fields
  391. base                     ds.l    1                ; offset: $C (12)        ;  timebase
  392. duration                 ds.l    1                ; offset: $10 (16)        ;  duration frame is to be displayed (0 if unknown)
  393. rate                     ds.l    1                ; offset: $14 (20)        ;  rate of timebase relative to wall-time
  394. recordSize                 ds.l    1                ; offset: $18 (24)        ;  total number of bytes in ICMFrameTimeRecord
  395. frameNumber                 ds.l    1                ; offset: $1C (28)        ;  number of frame, zero if not known
  396. flags                     ds.l    1                ; offset: $20 (32)
  397. virtualStartTime         ds        wide            ; offset: $24 (36)        ;  conceptual start time
  398. virtualDuration             ds.l    1                ; offset: $2C (44)        ;  conceptual duration
  399. sizeof                     EQU *                    ; size:   $30 (48)
  400.                         ENDR
  401. ; typedef struct ICMFrameTimeRecord *    ICMFrameTimePtr
  402.  
  403.  
  404. ;
  405. ; pascal OSErr CodecManagerVersion(long *version)
  406. ;
  407.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  408.         Macro
  409.         _CodecManagerVersion
  410.             moveq               #0,D0
  411.             dc.w                $AAA3
  412.         EndM
  413.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  414.         IMPORT_CFM_FUNCTION CodecManagerVersion
  415.     ENDIF
  416.  
  417. ;
  418. ; pascal OSErr GetCodecNameList(CodecNameSpecListPtr *list, short showAll)
  419. ;
  420.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  421.         Macro
  422.         _GetCodecNameList
  423.             moveq               #1,D0
  424.             dc.w                $AAA3
  425.         EndM
  426.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  427.         IMPORT_CFM_FUNCTION GetCodecNameList
  428.     ENDIF
  429.  
  430. ;
  431. ; pascal OSErr DisposeCodecNameList(CodecNameSpecListPtr list)
  432. ;
  433.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  434.         Macro
  435.         _DisposeCodecNameList
  436.             moveq               #15,D0
  437.             dc.w                $AAA3
  438.         EndM
  439.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  440.         IMPORT_CFM_FUNCTION DisposeCodecNameList
  441.     ENDIF
  442.  
  443. ;
  444. ; pascal OSErr GetCodecInfo(CodecInfo *info, CodecType cType, CodecComponent codec)
  445. ;
  446.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  447.         Macro
  448.         _GetCodecInfo
  449.             moveq               #3,D0
  450.             dc.w                $AAA3
  451.         EndM
  452.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  453.         IMPORT_CFM_FUNCTION GetCodecInfo
  454.     ENDIF
  455.  
  456. ;
  457. ; pascal OSErr GetMaxCompressionSize(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, long *size)
  458. ;
  459.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  460.         Macro
  461.         _GetMaxCompressionSize
  462.             moveq               #4,D0
  463.             dc.w                $AAA3
  464.         EndM
  465.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  466.         IMPORT_CFM_FUNCTION GetMaxCompressionSize
  467.     ENDIF
  468.  
  469. ;
  470. ; pascal OSErr GetCSequenceMaxCompressionSize(ImageSequence seqID, PixMapHandle src, long *size)
  471. ;
  472.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  473.         Macro
  474.         _GetCSequenceMaxCompressionSize
  475.             move.l              #$000C0074,D0
  476.             dc.w                $AAA3
  477.         EndM
  478.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  479.         IMPORT_CFM_FUNCTION GetCSequenceMaxCompressionSize
  480.     ENDIF
  481.  
  482. ;
  483. ; pascal OSErr GetCompressionTime(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ *spatialQuality, CodecQ *temporalQuality, unsigned long *compressTime)
  484. ;
  485.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  486.         Macro
  487.         _GetCompressionTime
  488.             moveq               #5,D0
  489.             dc.w                $AAA3
  490.         EndM
  491.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  492.         IMPORT_CFM_FUNCTION GetCompressionTime
  493.     ENDIF
  494.  
  495. ;
  496. ; pascal OSErr CompressImage(PixMapHandle src, const Rect *srcRect, CodecQ quality, CodecType cType, ImageDescriptionHandle desc, Ptr data)
  497. ;
  498.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  499.         Macro
  500.         _CompressImage
  501.             moveq               #6,D0
  502.             dc.w                $AAA3
  503.         EndM
  504.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  505.         IMPORT_CFM_FUNCTION CompressImage
  506.     ENDIF
  507.  
  508. ;
  509. ; pascal OSErr FCompressImage(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, CTabHandle ctable, CodecFlags flags, long bufferSize, ICMFlushProcRecordPtr flushProc, ICMProgressProcRecordPtr progressProc, ImageDescriptionHandle desc, Ptr data)
  510. ;
  511.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  512.         Macro
  513.         _FCompressImage
  514.             moveq               #7,D0
  515.             dc.w                $AAA3
  516.         EndM
  517.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  518.         IMPORT_CFM_FUNCTION FCompressImage
  519.     ENDIF
  520.  
  521. ;
  522. ; pascal OSErr DecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle mask)
  523. ;
  524.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  525.         Macro
  526.         _DecompressImage
  527.             moveq               #8,D0
  528.             dc.w                $AAA3
  529.         EndM
  530.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  531.         IMPORT_CFM_FUNCTION DecompressImage
  532.     ENDIF
  533.  
  534. ;
  535. ; pascal OSErr FDecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapHandle matte, const Rect *matteRect, CodecQ accuracy, DecompressorComponent codec, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  536. ;
  537.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  538.         Macro
  539.         _FDecompressImage
  540.             moveq               #9,D0
  541.             dc.w                $AAA3
  542.         EndM
  543.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  544.         IMPORT_CFM_FUNCTION FDecompressImage
  545.     ENDIF
  546.  
  547. ;
  548. ; pascal OSErr CompressSequenceBegin(ImageSequence *seqID, PixMapHandle src, PixMapHandle prev, const Rect *srcRect, const Rect *prevRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ spatialQuality, CodecQ temporalQuality, long keyFrameRate, CTabHandle ctable, CodecFlags flags, ImageDescriptionHandle desc)
  549. ;
  550.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  551.         Macro
  552.         _CompressSequenceBegin
  553.             moveq               #10,D0
  554.             dc.w                $AAA3
  555.         EndM
  556.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  557.         IMPORT_CFM_FUNCTION CompressSequenceBegin
  558.     ENDIF
  559.  
  560. ;
  561. ; pascal OSErr CompressSequenceFrame(ImageSequence seqID, PixMapHandle src, const Rect *srcRect, CodecFlags flags, Ptr data, long *dataSize, UInt8 *similarity, ICMCompletionProcRecordPtr asyncCompletionProc)
  562. ;
  563.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  564.         Macro
  565.         _CompressSequenceFrame
  566.             moveq               #11,D0
  567.             dc.w                $AAA3
  568.         EndM
  569.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  570.         IMPORT_CFM_FUNCTION CompressSequenceFrame
  571.     ENDIF
  572.  
  573. ;
  574. ; pascal OSErr DecompressSequenceBegin(ImageSequence *seqID, ImageDescriptionHandle desc, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  575. ;
  576.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  577.         Macro
  578.         _DecompressSequenceBegin
  579.             moveq               #13,D0
  580.             dc.w                $AAA3
  581.         EndM
  582.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  583.         IMPORT_CFM_FUNCTION DecompressSequenceBegin
  584.     ENDIF
  585.  
  586. ;
  587. ; pascal OSErr DecompressSequenceBeginS(ImageSequence *seqID, ImageDescriptionHandle desc, Ptr data, long dataSize, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  588. ;
  589.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  590.         Macro
  591.         _DecompressSequenceBeginS
  592.             move.l              #$0030005D,D0
  593.             dc.w                $AAA3
  594.         EndM
  595.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  596.         IMPORT_CFM_FUNCTION DecompressSequenceBeginS
  597.     ENDIF
  598.  
  599. ;
  600. ; pascal OSErr DecompressSequenceFrame(ImageSequence seqID, Ptr data, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  601. ;
  602.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  603.         Macro
  604.         _DecompressSequenceFrame
  605.             moveq               #14,D0
  606.             dc.w                $AAA3
  607.         EndM
  608.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  609.         IMPORT_CFM_FUNCTION DecompressSequenceFrame
  610.     ENDIF
  611.  
  612. ;
  613. ; pascal OSErr DecompressSequenceFrameS(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  614. ;
  615.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  616.         Macro
  617.         _DecompressSequenceFrameS
  618.             move.l              #$00160047,D0
  619.             dc.w                $AAA3
  620.         EndM
  621.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  622.         IMPORT_CFM_FUNCTION DecompressSequenceFrameS
  623.     ENDIF
  624.  
  625. ;
  626. ; pascal OSErr DecompressSequenceFrameWhen(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc, const ICMFrameTimeRecord *frameTime)
  627. ;
  628.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  629.         Macro
  630.         _DecompressSequenceFrameWhen
  631.             move.l              #$001A005E,D0
  632.             dc.w                $AAA3
  633.         EndM
  634.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  635.         IMPORT_CFM_FUNCTION DecompressSequenceFrameWhen
  636.     ENDIF
  637.  
  638. ;
  639. ; pascal OSErr CDSequenceFlush(ImageSequence seqID)
  640. ;
  641.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  642.         Macro
  643.         _CDSequenceFlush
  644.             move.l              #$0004005F,D0
  645.             dc.w                $AAA3
  646.         EndM
  647.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  648.         IMPORT_CFM_FUNCTION CDSequenceFlush
  649.     ENDIF
  650.  
  651. ;
  652. ; pascal OSErr SetDSequenceMatrix(ImageSequence seqID, MatrixRecordPtr matrix)
  653. ;
  654.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  655.         Macro
  656.         _SetDSequenceMatrix
  657.             moveq               #16,D0
  658.             dc.w                $AAA3
  659.         EndM
  660.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  661.         IMPORT_CFM_FUNCTION SetDSequenceMatrix
  662.     ENDIF
  663.  
  664. ;
  665. ; pascal OSErr SetDSequenceMatte(ImageSequence seqID, PixMapHandle matte, const Rect *matteRect)
  666. ;
  667.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  668.         Macro
  669.         _SetDSequenceMatte
  670.             moveq               #17,D0
  671.             dc.w                $AAA3
  672.         EndM
  673.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  674.         IMPORT_CFM_FUNCTION SetDSequenceMatte
  675.     ENDIF
  676.  
  677. ;
  678. ; pascal OSErr SetDSequenceMask(ImageSequence seqID, RgnHandle mask)
  679. ;
  680.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  681.         Macro
  682.         _SetDSequenceMask
  683.             moveq               #18,D0
  684.             dc.w                $AAA3
  685.         EndM
  686.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  687.         IMPORT_CFM_FUNCTION SetDSequenceMask
  688.     ENDIF
  689.  
  690. ;
  691. ; pascal OSErr SetDSequenceTransferMode(ImageSequence seqID, short mode, const RGBColor *opColor)
  692. ;
  693.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  694.         Macro
  695.         _SetDSequenceTransferMode
  696.             moveq               #19,D0
  697.             dc.w                $AAA3
  698.         EndM
  699.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  700.         IMPORT_CFM_FUNCTION SetDSequenceTransferMode
  701.     ENDIF
  702.  
  703. ;
  704. ; pascal OSErr SetDSequenceDataProc(ImageSequence seqID, ICMDataProcRecordPtr dataProc, long bufferSize)
  705. ;
  706.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  707.         Macro
  708.         _SetDSequenceDataProc
  709.             moveq               #20,D0
  710.             dc.w                $AAA3
  711.         EndM
  712.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  713.         IMPORT_CFM_FUNCTION SetDSequenceDataProc
  714.     ENDIF
  715.  
  716. ;
  717. ; pascal OSErr SetDSequenceAccuracy(ImageSequence seqID, CodecQ accuracy)
  718. ;
  719.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  720.         Macro
  721.         _SetDSequenceAccuracy
  722.             moveq               #52,D0
  723.             dc.w                $AAA3
  724.         EndM
  725.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  726.         IMPORT_CFM_FUNCTION SetDSequenceAccuracy
  727.     ENDIF
  728.  
  729. ;
  730. ; pascal OSErr SetDSequenceSrcRect(ImageSequence seqID, const Rect *srcRect)
  731. ;
  732.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  733.         Macro
  734.         _SetDSequenceSrcRect
  735.             moveq               #53,D0
  736.             dc.w                $AAA3
  737.         EndM
  738.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  739.         IMPORT_CFM_FUNCTION SetDSequenceSrcRect
  740.     ENDIF
  741.  
  742.  
  743. ;
  744. ; pascal OSErr GetDSequenceImageBuffer(ImageSequence seqID, GWorldPtr *gworld)
  745. ;
  746.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  747.         Macro
  748.         _GetDSequenceImageBuffer
  749.             moveq               #21,D0
  750.             dc.w                $AAA3
  751.         EndM
  752.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  753.         IMPORT_CFM_FUNCTION GetDSequenceImageBuffer
  754.     ENDIF
  755.  
  756. ;
  757. ; pascal OSErr GetDSequenceScreenBuffer(ImageSequence seqID, GWorldPtr *gworld)
  758. ;
  759.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  760.         Macro
  761.         _GetDSequenceScreenBuffer
  762.             moveq               #22,D0
  763.             dc.w                $AAA3
  764.         EndM
  765.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  766.         IMPORT_CFM_FUNCTION GetDSequenceScreenBuffer
  767.     ENDIF
  768.  
  769. ;
  770. ; pascal OSErr SetCSequenceQuality(ImageSequence seqID, CodecQ spatialQuality, CodecQ temporalQuality)
  771. ;
  772.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  773.         Macro
  774.         _SetCSequenceQuality
  775.             moveq               #23,D0
  776.             dc.w                $AAA3
  777.         EndM
  778.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  779.         IMPORT_CFM_FUNCTION SetCSequenceQuality
  780.     ENDIF
  781.  
  782. ;
  783. ; pascal OSErr SetCSequencePrev(ImageSequence seqID, PixMapHandle prev, const Rect *prevRect)
  784. ;
  785.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  786.         Macro
  787.         _SetCSequencePrev
  788.             moveq               #24,D0
  789.             dc.w                $AAA3
  790.         EndM
  791.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  792.         IMPORT_CFM_FUNCTION SetCSequencePrev
  793.     ENDIF
  794.  
  795. ;
  796. ; pascal OSErr SetCSequenceFlushProc(ImageSequence seqID, ICMFlushProcRecordPtr flushProc, long bufferSize)
  797. ;
  798.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  799.         Macro
  800.         _SetCSequenceFlushProc
  801.             moveq               #51,D0
  802.             dc.w                $AAA3
  803.         EndM
  804.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  805.         IMPORT_CFM_FUNCTION SetCSequenceFlushProc
  806.     ENDIF
  807.  
  808. ;
  809. ; pascal OSErr SetCSequenceKeyFrameRate(ImageSequence seqID, long keyFrameRate)
  810. ;
  811.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  812.         Macro
  813.         _SetCSequenceKeyFrameRate
  814.             moveq               #54,D0
  815.             dc.w                $AAA3
  816.         EndM
  817.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  818.         IMPORT_CFM_FUNCTION SetCSequenceKeyFrameRate
  819.     ENDIF
  820.  
  821. ;
  822. ; pascal OSErr GetCSequenceKeyFrameRate(ImageSequence seqID, long *keyFrameRate)
  823. ;
  824.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  825.         Macro
  826.         _GetCSequenceKeyFrameRate
  827.             move.l              #$0008004B,D0
  828.             dc.w                $AAA3
  829.         EndM
  830.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  831.         IMPORT_CFM_FUNCTION GetCSequenceKeyFrameRate
  832.     ENDIF
  833.  
  834. ;
  835. ; pascal OSErr GetCSequencePrevBuffer(ImageSequence seqID, GWorldPtr *gworld)
  836. ;
  837.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  838.         Macro
  839.         _GetCSequencePrevBuffer
  840.             moveq               #25,D0
  841.             dc.w                $AAA3
  842.         EndM
  843.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  844.         IMPORT_CFM_FUNCTION GetCSequencePrevBuffer
  845.     ENDIF
  846.  
  847. ;
  848. ; pascal OSErr CDSequenceBusy(ImageSequence seqID)
  849. ;
  850.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  851.         Macro
  852.         _CDSequenceBusy
  853.             moveq               #26,D0
  854.             dc.w                $AAA3
  855.         EndM
  856.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  857.         IMPORT_CFM_FUNCTION CDSequenceBusy
  858.     ENDIF
  859.  
  860. ;
  861. ; pascal OSErr CDSequenceEnd(ImageSequence seqID)
  862. ;
  863.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  864.         Macro
  865.         _CDSequenceEnd
  866.             moveq               #27,D0
  867.             dc.w                $AAA3
  868.         EndM
  869.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  870.         IMPORT_CFM_FUNCTION CDSequenceEnd
  871.     ENDIF
  872.  
  873. ;
  874. ; pascal OSErr CDSequenceEquivalentImageDescription(ImageSequence seqID, ImageDescriptionHandle newDesc, Boolean *equivalent)
  875. ;
  876.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  877.         Macro
  878.         _CDSequenceEquivalentImageDescription
  879.             move.l              #$000C0065,D0
  880.             dc.w                $AAA3
  881.         EndM
  882.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  883.         IMPORT_CFM_FUNCTION CDSequenceEquivalentImageDescription
  884.     ENDIF
  885.  
  886. ;
  887. ; pascal OSErr GetCompressedImageSize(ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, long *dataSize)
  888. ;
  889.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  890.         Macro
  891.         _GetCompressedImageSize
  892.             moveq               #28,D0
  893.             dc.w                $AAA3
  894.         EndM
  895.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  896.         IMPORT_CFM_FUNCTION GetCompressedImageSize
  897.     ENDIF
  898.  
  899. ;
  900. ; pascal OSErr GetSimilarity(PixMapHandle src, const Rect *srcRect, ImageDescriptionHandle desc, Ptr data, Fixed *similarity)
  901. ;
  902.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  903.         Macro
  904.         _GetSimilarity
  905.             moveq               #29,D0
  906.             dc.w                $AAA3
  907.         EndM
  908.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  909.         IMPORT_CFM_FUNCTION GetSimilarity
  910.     ENDIF
  911.  
  912.  
  913. kImageDescriptionSampleFormat    EQU        'idfm'                ; image description extension describing sample format
  914. kImageDescriptionClassicAtomFormat EQU    'atom'                ; sample contains classic atom structure (ie, GX codec and Curve codec)
  915. kImageDescriptionQTAtomFormat    EQU        'qtat'                ; sample contains QT atom structure
  916. kImageDescriptionEffectDataFormat EQU    'fxat'                ; sample describes an effect (as QTAtoms)
  917. kImageDescriptionPrivateDataFormat EQU    'priv'                ; sample is in a private codec specific format
  918. kImageDescriptionAlternateCodec    EQU        'subs'                ; image description extension containing the OSType of a substitute codec should the main codec not be available
  919. ;
  920. ; pascal OSErr GetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle *ctable)
  921. ;
  922.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  923.         Macro
  924.         _GetImageDescriptionCTable
  925.             moveq               #30,D0
  926.             dc.w                $AAA3
  927.         EndM
  928.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  929.         IMPORT_CFM_FUNCTION GetImageDescriptionCTable
  930.     ENDIF
  931.  
  932. ;
  933. ; pascal OSErr SetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle ctable)
  934. ;
  935.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  936.         Macro
  937.         _SetImageDescriptionCTable
  938.             moveq               #31,D0
  939.             dc.w                $AAA3
  940.         EndM
  941.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  942.         IMPORT_CFM_FUNCTION SetImageDescriptionCTable
  943.     ENDIF
  944.  
  945. ;
  946. ; pascal OSErr GetImageDescriptionExtension(ImageDescriptionHandle desc, Handle *extension, long idType, long index)
  947. ;
  948.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  949.         Macro
  950.         _GetImageDescriptionExtension
  951.             moveq               #32,D0
  952.             dc.w                $AAA3
  953.         EndM
  954.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  955.         IMPORT_CFM_FUNCTION GetImageDescriptionExtension
  956.     ENDIF
  957.  
  958. ;
  959. ; pascal OSErr AddImageDescriptionExtension(ImageDescriptionHandle desc, Handle extension, long idType)
  960. ;
  961.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  962.         Macro
  963.         _AddImageDescriptionExtension
  964.             moveq               #33,D0
  965.             dc.w                $AAA3
  966.         EndM
  967.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  968.         IMPORT_CFM_FUNCTION AddImageDescriptionExtension
  969.     ENDIF
  970.  
  971. ;
  972. ; pascal OSErr RemoveImageDescriptionExtension(ImageDescriptionHandle desc, long idType, long index)
  973. ;
  974.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  975.         Macro
  976.         _RemoveImageDescriptionExtension
  977.             move.l              #$000C003A,D0
  978.             dc.w                $AAA3
  979.         EndM
  980.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  981.         IMPORT_CFM_FUNCTION RemoveImageDescriptionExtension
  982.     ENDIF
  983.  
  984. ;
  985. ; pascal OSErr CountImageDescriptionExtensionType(ImageDescriptionHandle desc, long idType, long *count)
  986. ;
  987.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  988.         Macro
  989.         _CountImageDescriptionExtensionType
  990.             move.l              #$000C003B,D0
  991.             dc.w                $AAA3
  992.         EndM
  993.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  994.         IMPORT_CFM_FUNCTION CountImageDescriptionExtensionType
  995.     ENDIF
  996.  
  997. ;
  998. ; pascal OSErr GetNextImageDescriptionExtensionType(ImageDescriptionHandle desc, long *idType)
  999. ;
  1000.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1001.         Macro
  1002.         _GetNextImageDescriptionExtensionType
  1003.             move.l              #$0008003C,D0
  1004.             dc.w                $AAA3
  1005.         EndM
  1006.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1007.         IMPORT_CFM_FUNCTION GetNextImageDescriptionExtensionType
  1008.     ENDIF
  1009.  
  1010. ;
  1011. ; pascal OSErr FindCodec(CodecType cType, CodecComponent specCodec, CompressorComponent *compressor, DecompressorComponent *decompressor)
  1012. ;
  1013.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1014.         Macro
  1015.         _FindCodec
  1016.             moveq               #35,D0
  1017.             dc.w                $AAA3
  1018.         EndM
  1019.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1020.         IMPORT_CFM_FUNCTION FindCodec
  1021.     ENDIF
  1022.  
  1023. ;
  1024. ; pascal OSErr CompressPicture(PicHandle srcPicture, PicHandle dstPicture, CodecQ quality, CodecType cType)
  1025. ;
  1026.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1027.         Macro
  1028.         _CompressPicture
  1029.             moveq               #36,D0
  1030.             dc.w                $AAA3
  1031.         EndM
  1032.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1033.         IMPORT_CFM_FUNCTION CompressPicture
  1034.     ENDIF
  1035.  
  1036. ;
  1037. ; pascal OSErr FCompressPicture(PicHandle srcPicture, PicHandle dstPicture, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  1038. ;
  1039.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1040.         Macro
  1041.         _FCompressPicture
  1042.             moveq               #37,D0
  1043.             dc.w                $AAA3
  1044.         EndM
  1045.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1046.         IMPORT_CFM_FUNCTION FCompressPicture
  1047.     ENDIF
  1048.  
  1049. ;
  1050. ; pascal OSErr CompressPictureFile(short srcRefNum, short dstRefNum, CodecQ quality, CodecType cType)
  1051. ;
  1052.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1053.         Macro
  1054.         _CompressPictureFile
  1055.             moveq               #38,D0
  1056.             dc.w                $AAA3
  1057.         EndM
  1058.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1059.         IMPORT_CFM_FUNCTION CompressPictureFile
  1060.     ENDIF
  1061.  
  1062. ;
  1063. ; pascal OSErr FCompressPictureFile(short srcRefNum, short dstRefNum, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  1064. ;
  1065.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1066.         Macro
  1067.         _FCompressPictureFile
  1068.             moveq               #39,D0
  1069.             dc.w                $AAA3
  1070.         EndM
  1071.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1072.         IMPORT_CFM_FUNCTION FCompressPictureFile
  1073.     ENDIF
  1074.  
  1075. ;
  1076. ; pascal OSErr GetPictureFileHeader(short refNum, Rect *frame, OpenCPicParams *header)
  1077. ;
  1078.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1079.         Macro
  1080.         _GetPictureFileHeader
  1081.             moveq               #40,D0
  1082.             dc.w                $AAA3
  1083.         EndM
  1084.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1085.         IMPORT_CFM_FUNCTION GetPictureFileHeader
  1086.     ENDIF
  1087.  
  1088. ;
  1089. ; pascal OSErr DrawPictureFile(short refNum, const Rect *frame, ICMProgressProcRecordPtr progressProc)
  1090. ;
  1091.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1092.         Macro
  1093.         _DrawPictureFile
  1094.             moveq               #41,D0
  1095.             dc.w                $AAA3
  1096.         EndM
  1097.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1098.         IMPORT_CFM_FUNCTION DrawPictureFile
  1099.     ENDIF
  1100.  
  1101. ;
  1102. ; pascal OSErr DrawTrimmedPicture(PicHandle srcPicture, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1103. ;
  1104.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1105.         Macro
  1106.         _DrawTrimmedPicture
  1107.             moveq               #46,D0
  1108.             dc.w                $AAA3
  1109.         EndM
  1110.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1111.         IMPORT_CFM_FUNCTION DrawTrimmedPicture
  1112.     ENDIF
  1113.  
  1114. ;
  1115. ; pascal OSErr DrawTrimmedPictureFile(short srcRefnum, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1116. ;
  1117.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1118.         Macro
  1119.         _DrawTrimmedPictureFile
  1120.             moveq               #47,D0
  1121.             dc.w                $AAA3
  1122.         EndM
  1123.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1124.         IMPORT_CFM_FUNCTION DrawTrimmedPictureFile
  1125.     ENDIF
  1126.  
  1127. ;
  1128. ; pascal OSErr MakeThumbnailFromPicture(PicHandle picture, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1129. ;
  1130.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1131.         Macro
  1132.         _MakeThumbnailFromPicture
  1133.             moveq               #42,D0
  1134.             dc.w                $AAA3
  1135.         EndM
  1136.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1137.         IMPORT_CFM_FUNCTION MakeThumbnailFromPicture
  1138.     ENDIF
  1139.  
  1140. ;
  1141. ; pascal OSErr MakeThumbnailFromPictureFile(short refNum, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1142. ;
  1143.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1144.         Macro
  1145.         _MakeThumbnailFromPictureFile
  1146.             moveq               #43,D0
  1147.             dc.w                $AAA3
  1148.         EndM
  1149.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1150.         IMPORT_CFM_FUNCTION MakeThumbnailFromPictureFile
  1151.     ENDIF
  1152.  
  1153. ;
  1154. ; pascal OSErr MakeThumbnailFromPixMap(PixMapHandle src, const Rect *srcRect, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1155. ;
  1156.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1157.         Macro
  1158.         _MakeThumbnailFromPixMap
  1159.             moveq               #44,D0
  1160.             dc.w                $AAA3
  1161.         EndM
  1162.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1163.         IMPORT_CFM_FUNCTION MakeThumbnailFromPixMap
  1164.     ENDIF
  1165.  
  1166. ;
  1167. ; pascal OSErr TrimImage(ImageDescriptionHandle desc, Ptr inData, long inBufferSize, ICMDataProcRecordPtr dataProc, Ptr outData, long outBufferSize, ICMFlushProcRecordPtr flushProc, Rect *trimRect, ICMProgressProcRecordPtr progressProc)
  1168. ;
  1169.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1170.         Macro
  1171.         _TrimImage
  1172.             moveq               #45,D0
  1173.             dc.w                $AAA3
  1174.         EndM
  1175.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1176.         IMPORT_CFM_FUNCTION TrimImage
  1177.     ENDIF
  1178.  
  1179. ;
  1180. ; pascal OSErr ConvertImage(ImageDescriptionHandle srcDD, Ptr srcData, short colorDepth, CTabHandle ctable, CodecQ accuracy, CodecQ quality, CodecType cType, CodecComponent codec, ImageDescriptionHandle dstDD, Ptr dstData)
  1181. ;
  1182.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1183.         Macro
  1184.         _ConvertImage
  1185.             moveq               #48,D0
  1186.             dc.w                $AAA3
  1187.         EndM
  1188.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1189.         IMPORT_CFM_FUNCTION ConvertImage
  1190.     ENDIF
  1191.  
  1192. ;
  1193. ; pascal OSErr GetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle *desc, Ptr *data, long *bufferSize, ICMDataProcRecord *dataProc, ICMProgressProcRecord *progressProc)
  1194. ;
  1195.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1196.         Macro
  1197.         _GetCompressedPixMapInfo
  1198.             moveq               #55,D0
  1199.             dc.w                $AAA3
  1200.         EndM
  1201.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1202.         IMPORT_CFM_FUNCTION GetCompressedPixMapInfo
  1203.     ENDIF
  1204.  
  1205. ;
  1206. ; pascal OSErr SetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  1207. ;
  1208.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1209.         Macro
  1210.         _SetCompressedPixMapInfo
  1211.             moveq               #56,D0
  1212.             dc.w                $AAA3
  1213.         EndM
  1214.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1215.         IMPORT_CFM_FUNCTION SetCompressedPixMapInfo
  1216.     ENDIF
  1217.  
  1218. ;
  1219. ; pascal void StdPix(PixMapPtr src, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapPtr matte, const Rect *matteRect, short flags)
  1220. ;
  1221.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1222.         Macro
  1223.         _StdPix
  1224.             moveq               #12,D0
  1225.             dc.w                $AAA3
  1226.         EndM
  1227.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1228.         IMPORT_CFM_FUNCTION StdPix
  1229.     ENDIF
  1230.  
  1231. ;
  1232. ; pascal OSErr TransformRgn(MatrixRecordPtr matrix, RgnHandle rgn)
  1233. ;
  1234.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1235.         Macro
  1236.         _TransformRgn
  1237.             moveq               #57,D0
  1238.             dc.w                $AAA3
  1239.         EndM
  1240.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1241.         IMPORT_CFM_FUNCTION TransformRgn
  1242.     ENDIF
  1243.  
  1244.  
  1245. ; ***********
  1246. ;    preview stuff
  1247. ;**********
  1248.  
  1249. ;
  1250. ; pascal void SFGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply)
  1251. ;
  1252.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1253.         Macro
  1254.         _SFGetFilePreview
  1255.             moveq               #65,D0
  1256.             dc.w                $AAA3
  1257.         EndM
  1258.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1259.         IMPORT_CFM_FUNCTION SFGetFilePreview
  1260.     ENDIF
  1261.  
  1262. ;
  1263. ; pascal void SFPGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply, short dlgID, ModalFilterUPP filterProc)
  1264. ;
  1265.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1266.         Macro
  1267.         _SFPGetFilePreview
  1268.             moveq               #66,D0
  1269.             dc.w                $AAA3
  1270.         EndM
  1271.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1272.         IMPORT_CFM_FUNCTION SFPGetFilePreview
  1273.     ENDIF
  1274.  
  1275. ;
  1276. ; pascal void StandardGetFilePreview(FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply)
  1277. ;
  1278.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1279.         Macro
  1280.         _StandardGetFilePreview
  1281.             moveq               #67,D0
  1282.             dc.w                $AAA3
  1283.         EndM
  1284.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1285.         IMPORT_CFM_FUNCTION StandardGetFilePreview
  1286.     ENDIF
  1287.  
  1288. ;
  1289. ; pascal void CustomGetFilePreview(FileFilterYDUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply, short dlgID, Point where, DlgHookYDUPP dlgHook, ModalFilterYDUPP filterProc, ActivationOrderListPtr activeList, ActivateYDUPP activateProc, void *yourDataPtr)
  1290. ;
  1291.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1292.         Macro
  1293.         _CustomGetFilePreview
  1294.             moveq               #68,D0
  1295.             dc.w                $AAA3
  1296.         EndM
  1297.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1298.         IMPORT_CFM_FUNCTION CustomGetFilePreview
  1299.     ENDIF
  1300.  
  1301. ;
  1302. ; pascal OSErr MakeFilePreview(short resRefNum, ICMProgressProcRecordPtr progress)
  1303. ;
  1304.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1305.         Macro
  1306.         _MakeFilePreview
  1307.             moveq               #69,D0
  1308.             dc.w                $AAA3
  1309.         EndM
  1310.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1311.         IMPORT_CFM_FUNCTION MakeFilePreview
  1312.     ENDIF
  1313.  
  1314. ;
  1315. ; pascal OSErr AddFilePreview(short resRefNum, OSType previewType, Handle previewData)
  1316. ;
  1317.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1318.         Macro
  1319.         _AddFilePreview
  1320.             moveq               #70,D0
  1321.             dc.w                $AAA3
  1322.         EndM
  1323.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1324.         IMPORT_CFM_FUNCTION AddFilePreview
  1325.     ENDIF
  1326.  
  1327.  
  1328. sfpItemPreviewAreaUser            EQU        11
  1329. sfpItemPreviewStaticText        EQU        12
  1330. sfpItemPreviewDividerUser        EQU        13
  1331. sfpItemCreatePreviewButton        EQU        14
  1332. sfpItemShowPreviewButton        EQU        15
  1333. PreviewResourceRecord    RECORD 0
  1334. modDate                     ds.l    1                ; offset: $0 (0)
  1335. version                     ds.w    1                ; offset: $4 (4)
  1336. resType                     ds.l    1                ; offset: $6 (6)
  1337. resID                     ds.w    1                ; offset: $A (10)
  1338. sizeof                     EQU *                    ; size:   $C (12)
  1339.                         ENDR
  1340. ; typedef struct PreviewResourceRecord * PreviewResourcePtr
  1341.  
  1342. ; typedef PreviewResourcePtr *            PreviewResource
  1343.  
  1344. ;
  1345. ; pascal void AlignScreenRect(Rect *rp, ICMAlignmentProcRecordPtr alignmentProc)
  1346. ;
  1347.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1348.         Macro
  1349.         _AlignScreenRect
  1350.             move.l              #$0008004C,D0
  1351.             dc.w                $AAA3
  1352.         EndM
  1353.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1354.         IMPORT_CFM_FUNCTION AlignScreenRect
  1355.     ENDIF
  1356.  
  1357. ;
  1358. ; pascal void AlignWindow(WindowPtr wp, Boolean front, const Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1359. ;
  1360.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1361.         Macro
  1362.         _AlignWindow
  1363.             move.l              #$000E004D,D0
  1364.             dc.w                $AAA3
  1365.         EndM
  1366.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1367.         IMPORT_CFM_FUNCTION AlignWindow
  1368.     ENDIF
  1369.  
  1370. ;
  1371. ; pascal void DragAlignedWindow(WindowPtr wp, Point startPt, Rect *boundsRect, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1372. ;
  1373.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1374.         Macro
  1375.         _DragAlignedWindow
  1376.             move.l              #$0014004E,D0
  1377.             dc.w                $AAA3
  1378.         EndM
  1379.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1380.         IMPORT_CFM_FUNCTION DragAlignedWindow
  1381.     ENDIF
  1382.  
  1383. ;
  1384. ; pascal long DragAlignedGrayRgn(RgnHandle theRgn, Point startPt, Rect *boundsRect, Rect *slopRect, short axis, UniversalProcPtr actionProc, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1385. ;
  1386.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1387.         Macro
  1388.         _DragAlignedGrayRgn
  1389.             move.l              #$001E004F,D0
  1390.             dc.w                $AAA3
  1391.         EndM
  1392.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1393.         IMPORT_CFM_FUNCTION DragAlignedGrayRgn
  1394.     ENDIF
  1395.  
  1396. ;
  1397. ; pascal OSErr SetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1398. ;
  1399.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1400.         Macro
  1401.         _SetCSequenceDataRateParams
  1402.             move.l              #$00080050,D0
  1403.             dc.w                $AAA3
  1404.         EndM
  1405.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1406.         IMPORT_CFM_FUNCTION SetCSequenceDataRateParams
  1407.     ENDIF
  1408.  
  1409. ;
  1410. ; pascal OSErr SetCSequenceFrameNumber(ImageSequence seqID, long frameNumber)
  1411. ;
  1412.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1413.         Macro
  1414.         _SetCSequenceFrameNumber
  1415.             move.l              #$00080051,D0
  1416.             dc.w                $AAA3
  1417.         EndM
  1418.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1419.         IMPORT_CFM_FUNCTION SetCSequenceFrameNumber
  1420.     ENDIF
  1421.  
  1422. ;
  1423. ; pascal OSErr SetCSequencePreferredPacketSize(ImageSequence seqID, long preferredPacketSizeInBytes)
  1424. ;
  1425.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1426.         Macro
  1427.         _SetCSequencePreferredPacketSize
  1428.             move.l              #$00080078,D0
  1429.             dc.w                $AAA3
  1430.         EndM
  1431.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1432.         IMPORT_CFM_FUNCTION SetCSequencePreferredPacketSize
  1433.     ENDIF
  1434.  
  1435. ;
  1436. ; pascal OSErr NewImageGWorld(GWorldPtr *gworld, ImageDescriptionHandle idh, GWorldFlags flags)
  1437. ;
  1438.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1439.         Macro
  1440.         _NewImageGWorld
  1441.             move.l              #$000C0052,D0
  1442.             dc.w                $AAA3
  1443.         EndM
  1444.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1445.         IMPORT_CFM_FUNCTION NewImageGWorld
  1446.     ENDIF
  1447.  
  1448. ;
  1449. ; pascal OSErr GetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1450. ;
  1451.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1452.         Macro
  1453.         _GetCSequenceDataRateParams
  1454.             move.l              #$00080053,D0
  1455.             dc.w                $AAA3
  1456.         EndM
  1457.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1458.         IMPORT_CFM_FUNCTION GetCSequenceDataRateParams
  1459.     ENDIF
  1460.  
  1461. ;
  1462. ; pascal OSErr GetCSequenceFrameNumber(ImageSequence seqID, long *frameNumber)
  1463. ;
  1464.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1465.         Macro
  1466.         _GetCSequenceFrameNumber
  1467.             move.l              #$00080054,D0
  1468.             dc.w                $AAA3
  1469.         EndM
  1470.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1471.         IMPORT_CFM_FUNCTION GetCSequenceFrameNumber
  1472.     ENDIF
  1473.  
  1474. ;
  1475. ; pascal OSErr GetBestDeviceRect(GDHandle *gdh, Rect *rp)
  1476. ;
  1477.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1478.         Macro
  1479.         _GetBestDeviceRect
  1480.             move.l              #$00080055,D0
  1481.             dc.w                $AAA3
  1482.         EndM
  1483.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1484.         IMPORT_CFM_FUNCTION GetBestDeviceRect
  1485.     ENDIF
  1486.  
  1487. ;
  1488. ; pascal OSErr SetSequenceProgressProc(ImageSequence seqID, ICMProgressProcRecord *progressProc)
  1489. ;
  1490.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1491.         Macro
  1492.         _SetSequenceProgressProc
  1493.             move.l              #$00080056,D0
  1494.             dc.w                $AAA3
  1495.         EndM
  1496.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1497.         IMPORT_CFM_FUNCTION SetSequenceProgressProc
  1498.     ENDIF
  1499.  
  1500. ;
  1501. ; pascal OSErr GDHasScale(GDHandle gdh, short depth, Fixed *scale)
  1502. ;
  1503.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1504.         Macro
  1505.         _GDHasScale
  1506.             move.l              #$000A005A,D0
  1507.             dc.w                $AAA3
  1508.         EndM
  1509.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1510.         IMPORT_CFM_FUNCTION GDHasScale
  1511.     ENDIF
  1512.  
  1513. ;
  1514. ; pascal OSErr GDGetScale(GDHandle gdh, Fixed *scale, short *flags)
  1515. ;
  1516.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1517.         Macro
  1518.         _GDGetScale
  1519.             move.l              #$000C005B,D0
  1520.             dc.w                $AAA3
  1521.         EndM
  1522.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1523.         IMPORT_CFM_FUNCTION GDGetScale
  1524.     ENDIF
  1525.  
  1526. ;
  1527. ; pascal OSErr GDSetScale(GDHandle gdh, Fixed scale, short flags)
  1528. ;
  1529.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1530.         Macro
  1531.         _GDSetScale
  1532.             move.l              #$000A005C,D0
  1533.             dc.w                $AAA3
  1534.         EndM
  1535.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1536.         IMPORT_CFM_FUNCTION GDSetScale
  1537.     ENDIF
  1538.  
  1539. ;
  1540. ; pascal OSErr ICMShieldSequenceCursor(ImageSequence seqID)
  1541. ;
  1542.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1543.         Macro
  1544.         _ICMShieldSequenceCursor
  1545.             move.l              #$00040062,D0
  1546.             dc.w                $AAA3
  1547.         EndM
  1548.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1549.         IMPORT_CFM_FUNCTION ICMShieldSequenceCursor
  1550.     ENDIF
  1551.  
  1552. ;
  1553. ; pascal void ICMDecompressComplete(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1554. ;
  1555.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1556.         Macro
  1557.         _ICMDecompressComplete
  1558.             move.l              #$000C0063,D0
  1559.             dc.w                $AAA3
  1560.         EndM
  1561.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1562.         IMPORT_CFM_FUNCTION ICMDecompressComplete
  1563.     ENDIF
  1564.  
  1565. ;
  1566. ; pascal OSErr ICMDecompressCompleteS(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1567. ;
  1568.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1569.         Macro
  1570.         _ICMDecompressCompleteS
  1571.             move.l              #$000C0082,D0
  1572.             dc.w                $AAA3
  1573.         EndM
  1574.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1575.         IMPORT_CFM_FUNCTION ICMDecompressCompleteS
  1576.     ENDIF
  1577.  
  1578. ;
  1579. ; pascal OSErr ICMSequenceLockBits(ImageSequence seqID, PixMapPtr dst, long flags)
  1580. ;
  1581.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1582.         Macro
  1583.         _ICMSequenceLockBits
  1584.             move.l              #$000C007C,D0
  1585.             dc.w                $AAA3
  1586.         EndM
  1587.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1588.         IMPORT_CFM_FUNCTION ICMSequenceLockBits
  1589.     ENDIF
  1590.  
  1591. ;
  1592. ; pascal OSErr ICMSequenceUnlockBits(ImageSequence seqID, long flags)
  1593. ;
  1594.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1595.         Macro
  1596.         _ICMSequenceUnlockBits
  1597.             move.l              #$0008007D,D0
  1598.             dc.w                $AAA3
  1599.         EndM
  1600.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1601.         IMPORT_CFM_FUNCTION ICMSequenceUnlockBits
  1602.     ENDIF
  1603.  
  1604. ICMPixelFormatInfo        RECORD 0
  1605. size                     ds.l    1                ; offset: $0 (0)
  1606. formatFlags                 ds.l    1                ; offset: $4 (4)
  1607. pixelSize                 ds.w    1                ; offset: $8 (8)
  1608. reserved0                 ds.w    1                ; offset: $A (10)
  1609. reserved2                 ds.l    1                ; offset: $C (12)
  1610. sizeof                     EQU *                    ; size:   $10 (16)
  1611.                         ENDR
  1612. ; typedef struct ICMPixelFormatInfo *    ICMPixelFormatInfoPtr
  1613.  
  1614. ;
  1615. ; pascal OSErr ICMGetPixelFormatInfo(OSType PixelFormat, ICMPixelFormatInfoPtr theInfo)
  1616. ;
  1617.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1618.         Macro
  1619.         _ICMGetPixelFormatInfo
  1620.             move.l              #$00080083,D0
  1621.             dc.w                $AAA3
  1622.         EndM
  1623.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1624.         IMPORT_CFM_FUNCTION ICMGetPixelFormatInfo
  1625.     ENDIF
  1626.  
  1627.  
  1628. kICMGetChainUltimateParent        EQU        0
  1629. kICMGetChainParent                EQU        1
  1630. kICMGetChainChild                EQU        2
  1631. kICMGetChainUltimateChild        EQU        3
  1632. ;
  1633. ; pascal OSErr ICMSequenceGetChainMember(ImageSequence seqID, ImageSequence *retSeqID, long flags)
  1634. ;
  1635.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1636.         Macro
  1637.         _ICMSequenceGetChainMember
  1638.             move.l              #$000C007E,D0
  1639.             dc.w                $AAA3
  1640.         EndM
  1641.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1642.         IMPORT_CFM_FUNCTION ICMSequenceGetChainMember
  1643.     ENDIF
  1644.  
  1645. ;
  1646. ; pascal OSErr SetDSequenceTimeCode(ImageSequence seqID, void *timeCodeFormat, void *timeCodeTime)
  1647. ;
  1648.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1649.         Macro
  1650.         _SetDSequenceTimeCode
  1651.             move.l              #$000C0064,D0
  1652.             dc.w                $AAA3
  1653.         EndM
  1654.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1655.         IMPORT_CFM_FUNCTION SetDSequenceTimeCode
  1656.     ENDIF
  1657.  
  1658. ;
  1659. ; pascal OSErr CDSequenceNewMemory(ImageSequence seqID, Ptr *data, Size dataSize, long dataUse, ICMMemoryDisposedUPP memoryGoneProc, void *refCon)
  1660. ;
  1661.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1662.         Macro
  1663.         _CDSequenceNewMemory
  1664.             move.l              #$00180066,D0
  1665.             dc.w                $AAA3
  1666.         EndM
  1667.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1668.         IMPORT_CFM_FUNCTION CDSequenceNewMemory
  1669.     ENDIF
  1670.  
  1671. ;
  1672. ; pascal OSErr CDSequenceDisposeMemory(ImageSequence seqID, Ptr data)
  1673. ;
  1674.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1675.         Macro
  1676.         _CDSequenceDisposeMemory
  1677.             move.l              #$00080067,D0
  1678.             dc.w                $AAA3
  1679.         EndM
  1680.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1681.         IMPORT_CFM_FUNCTION CDSequenceDisposeMemory
  1682.     ENDIF
  1683.  
  1684. ;
  1685. ; pascal OSErr CDSequenceNewDataSource(ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber, Handle dataDescription, void *transferProc, void *refCon)
  1686. ;
  1687.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1688.         Macro
  1689.         _CDSequenceNewDataSource
  1690.             move.l              #$001C0068,D0
  1691.             dc.w                $AAA3
  1692.         EndM
  1693.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1694.         IMPORT_CFM_FUNCTION CDSequenceNewDataSource
  1695.     ENDIF
  1696.  
  1697. ;
  1698. ; pascal OSErr CDSequenceDisposeDataSource(ImageSequenceDataSource sourceID)
  1699. ;
  1700.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1701.         Macro
  1702.         _CDSequenceDisposeDataSource
  1703.             move.l              #$00040069,D0
  1704.             dc.w                $AAA3
  1705.         EndM
  1706.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1707.         IMPORT_CFM_FUNCTION CDSequenceDisposeDataSource
  1708.     ENDIF
  1709.  
  1710. ;
  1711. ; pascal OSErr CDSequenceSetSourceData(ImageSequenceDataSource sourceID, void *data, long dataSize)
  1712. ;
  1713.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1714.         Macro
  1715.         _CDSequenceSetSourceData
  1716.             move.l              #$000C006A,D0
  1717.             dc.w                $AAA3
  1718.         EndM
  1719.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1720.         IMPORT_CFM_FUNCTION CDSequenceSetSourceData
  1721.     ENDIF
  1722.  
  1723. ;
  1724. ; pascal OSErr CDSequenceChangedSourceData(ImageSequenceDataSource sourceID)
  1725. ;
  1726.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1727.         Macro
  1728.         _CDSequenceChangedSourceData
  1729.             move.l              #$0004006B,D0
  1730.             dc.w                $AAA3
  1731.         EndM
  1732.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1733.         IMPORT_CFM_FUNCTION CDSequenceChangedSourceData
  1734.     ENDIF
  1735.  
  1736. ;
  1737. ; pascal OSErr CDSequenceSetSourceDataQueue(ImageSequenceDataSource sourceID, QHdrPtr dataQueue)
  1738. ;
  1739.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1740.         Macro
  1741.         _CDSequenceSetSourceDataQueue
  1742.             move.l              #$0008007B,D0
  1743.             dc.w                $AAA3
  1744.         EndM
  1745.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1746.         IMPORT_CFM_FUNCTION CDSequenceSetSourceDataQueue
  1747.     ENDIF
  1748.  
  1749. ;
  1750. ; pascal OSErr CDSequenceGetDataSource(ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber)
  1751. ;
  1752.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1753.         Macro
  1754.         _CDSequenceGetDataSource
  1755.             move.l              #$0010007F,D0
  1756.             dc.w                $AAA3
  1757.         EndM
  1758.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1759.         IMPORT_CFM_FUNCTION CDSequenceGetDataSource
  1760.     ENDIF
  1761.  
  1762. ;
  1763. ; pascal OSErr PtInDSequenceData(ImageSequence seqID, void *data, Size dataSize, Point where, Boolean *hit)
  1764. ;
  1765.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1766.         Macro
  1767.         _PtInDSequenceData
  1768.             move.l              #$0014006C,D0
  1769.             dc.w                $AAA3
  1770.         EndM
  1771.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1772.         IMPORT_CFM_FUNCTION PtInDSequenceData
  1773.     ENDIF
  1774.  
  1775. ;
  1776. ; pascal OSErr HitTestDSequenceData(ImageSequence seqID, void *data, Size dataSize, Point where, long *hit, long hitFlags)
  1777. ;
  1778.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1779.         Macro
  1780.         _HitTestDSequenceData
  1781.             move.l              #$00060087,D0
  1782.             dc.w                $AAA3
  1783.         EndM
  1784.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1785.         IMPORT_CFM_FUNCTION HitTestDSequenceData
  1786.     ENDIF
  1787.  
  1788. ;
  1789. ; pascal OSErr GetGraphicsImporterForFile(const FSSpec *theFile, ComponentInstance *gi)
  1790. ;
  1791.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1792.         Macro
  1793.         _GetGraphicsImporterForFile
  1794.             move.l              #$0008006E,D0
  1795.             dc.w                $AAA3
  1796.         EndM
  1797.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1798.         IMPORT_CFM_FUNCTION GetGraphicsImporterForFile
  1799.     ENDIF
  1800.  
  1801. ;
  1802. ; pascal OSErr GetGraphicsImporterForDataRef(Handle dataRef, OSType dataRefType, ComponentInstance *gi)
  1803. ;
  1804.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1805.         Macro
  1806.         _GetGraphicsImporterForDataRef
  1807.             move.l              #$000C0077,D0
  1808.             dc.w                $AAA3
  1809.         EndM
  1810.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1811.         IMPORT_CFM_FUNCTION GetGraphicsImporterForDataRef
  1812.     ENDIF
  1813.  
  1814.  
  1815. kDontUseValidateToFindGraphicsImporter EQU $00000001
  1816. ;
  1817. ; pascal OSErr GetGraphicsImporterForFileWithFlags(const FSSpec *theFile, ComponentInstance *gi, long flags)
  1818. ;
  1819.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1820.         Macro
  1821.         _GetGraphicsImporterForFileWithFlags
  1822.             move.l              #$000C0084,D0
  1823.             dc.w                $AAA3
  1824.         EndM
  1825.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1826.         IMPORT_CFM_FUNCTION GetGraphicsImporterForFileWithFlags
  1827.     ENDIF
  1828.  
  1829. ;
  1830. ; pascal OSErr GetGraphicsImporterForDataRefWithFlags(Handle dataRef, OSType dataRefType, ComponentInstance *gi, long flags)
  1831. ;
  1832.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1833.         Macro
  1834.         _GetGraphicsImporterForDataRefWithFlags
  1835.             move.l              #$00100085,D0
  1836.             dc.w                $AAA3
  1837.         EndM
  1838.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1839.         IMPORT_CFM_FUNCTION GetGraphicsImporterForDataRefWithFlags
  1840.     ENDIF
  1841.  
  1842. ;
  1843. ; pascal OSErr QTGetFileNameExtension(ConstStrFileNameParam fileName, OSType fileType, OSType *extension)
  1844. ;
  1845.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1846.         Macro
  1847.         _QTGetFileNameExtension
  1848.             move.l              #$000C0061,D0
  1849.             dc.w                $AAA3
  1850.         EndM
  1851.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1852.         IMPORT_CFM_FUNCTION QTGetFileNameExtension
  1853.     ENDIF
  1854.  
  1855. ;
  1856. ; pascal OSErr ImageTranscodeSequenceBegin(ImageTranscodeSequence *its, ImageDescriptionHandle srcDesc, OSType destType, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  1857. ;
  1858.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1859.         Macro
  1860.         _ImageTranscodeSequenceBegin
  1861.             move.l              #$0018006F,D0
  1862.             dc.w                $AAA3
  1863.         EndM
  1864.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1865.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceBegin
  1866.     ENDIF
  1867.  
  1868. ;
  1869. ; pascal OSErr ImageTranscodeSequenceEnd(ImageTranscodeSequence its)
  1870. ;
  1871.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1872.         Macro
  1873.         _ImageTranscodeSequenceEnd
  1874.             move.l              #$00040070,D0
  1875.             dc.w                $AAA3
  1876.         EndM
  1877.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1878.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceEnd
  1879.     ENDIF
  1880.  
  1881. ;
  1882. ; pascal OSErr ImageTranscodeFrame(ImageTranscodeSequence its, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  1883. ;
  1884.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1885.         Macro
  1886.         _ImageTranscodeFrame
  1887.             move.l              #$00140071,D0
  1888.             dc.w                $AAA3
  1889.         EndM
  1890.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1891.         IMPORT_CFM_FUNCTION ImageTranscodeFrame
  1892.     ENDIF
  1893.  
  1894. ;
  1895. ; pascal OSErr ImageTranscodeDisposeFrameData(ImageTranscodeSequence its, void *dstData)
  1896. ;
  1897.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1898.         Macro
  1899.         _ImageTranscodeDisposeFrameData
  1900.             move.l              #$00080072,D0
  1901.             dc.w                $AAA3
  1902.         EndM
  1903.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1904.         IMPORT_CFM_FUNCTION ImageTranscodeDisposeFrameData
  1905.     ENDIF
  1906.  
  1907. ;
  1908. ; pascal OSErr CDSequenceInvalidate(ImageSequence seqID, RgnHandle invalRgn)
  1909. ;
  1910.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1911.         Macro
  1912.         _CDSequenceInvalidate
  1913.             move.l              #$00080073,D0
  1914.             dc.w                $AAA3
  1915.         EndM
  1916.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1917.         IMPORT_CFM_FUNCTION CDSequenceInvalidate
  1918.     ENDIF
  1919.  
  1920. ;
  1921. ; pascal OSErr CDSequenceSetTimeBase(ImageSequence seqID, void *base)
  1922. ;
  1923.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1924.         Macro
  1925.         _CDSequenceSetTimeBase
  1926.             move.l              #$00080079,D0
  1927.             dc.w                $AAA3
  1928.         EndM
  1929.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1930.         IMPORT_CFM_FUNCTION CDSequenceSetTimeBase
  1931.     ENDIF
  1932.  
  1933. ;
  1934. ; pascal OSErr ImageFieldSequenceBegin(ImageFieldSequence *ifs, ImageDescriptionHandle desc1, ImageDescriptionHandle desc2, ImageDescriptionHandle descOut)
  1935. ;
  1936.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1937.         Macro
  1938.         _ImageFieldSequenceBegin
  1939.             move.l              #$0010006D,D0
  1940.             dc.w                $AAA3
  1941.         EndM
  1942.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1943.         IMPORT_CFM_FUNCTION ImageFieldSequenceBegin
  1944.     ENDIF
  1945.  
  1946. ;
  1947. ; pascal OSErr ImageFieldSequenceExtractCombine(ImageFieldSequence ifs, long fieldFlags, void *data1, long dataSize1, void *data2, long dataSize2, void *outputData, long *outDataSize)
  1948. ;
  1949.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1950.         Macro
  1951.         _ImageFieldSequenceExtractCombine
  1952.             move.l              #$00200075,D0
  1953.             dc.w                $AAA3
  1954.         EndM
  1955.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1956.         IMPORT_CFM_FUNCTION ImageFieldSequenceExtractCombine
  1957.     ENDIF
  1958.  
  1959. ;
  1960. ; pascal OSErr ImageFieldSequenceEnd(ImageFieldSequence ifs)
  1961. ;
  1962.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1963.         Macro
  1964.         _ImageFieldSequenceEnd
  1965.             move.l              #$00040076,D0
  1966.             dc.w                $AAA3
  1967.         EndM
  1968.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1969.         IMPORT_CFM_FUNCTION ImageFieldSequenceEnd
  1970.     ENDIF
  1971.  
  1972.  
  1973. kICMTempThenAppMemory            EQU        $00001000
  1974. kICMAppThenTempMemory            EQU        $00002000
  1975. ;
  1976. ; pascal OSErr QTNewGWorld(GWorldPtr *offscreenGWorld, OSType PixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags)
  1977. ;
  1978.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1979.         Macro
  1980.         _QTNewGWorld
  1981.             move.l              #$00180080,D0
  1982.             dc.w                $AAA3
  1983.         EndM
  1984.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1985.         IMPORT_CFM_FUNCTION QTNewGWorld
  1986.     ENDIF
  1987.  
  1988. ;
  1989. ; pascal GWorldFlags QTUpdateGWorld(GWorldPtr *offscreenGWorld, OSType PixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags)
  1990. ;
  1991.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1992.         Macro
  1993.         _QTUpdateGWorld
  1994.             move.l              #$00180081,D0
  1995.             dc.w                $AAA3
  1996.         EndM
  1997.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1998.         IMPORT_CFM_FUNCTION QTUpdateGWorld
  1999.     ENDIF
  2000.  
  2001. ;
  2002. ; pascal OSErr MakeImageDescriptionForPixMap(PixMapHandle pixmap, ImageDescriptionHandle *idh)
  2003. ;
  2004.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2005.         Macro
  2006.         _MakeImageDescriptionForPixMap
  2007.             move.l              #$0008007A,D0
  2008.             dc.w                $AAA3
  2009.         EndM
  2010.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2011.         IMPORT_CFM_FUNCTION MakeImageDescriptionForPixMap
  2012.     ENDIF
  2013.  
  2014. ;
  2015. ; pascal short QTGetPixelSize(OSType PixelFormat)
  2016. ;
  2017.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2018.         Macro
  2019.         _QTGetPixelSize
  2020.             move.l              #$00040086,D0
  2021.             dc.w                $AAA3
  2022.         EndM
  2023.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2024.         IMPORT_CFM_FUNCTION QTGetPixelSize
  2025.     ENDIF
  2026.  
  2027.  
  2028.  
  2029.  
  2030. identityMatrixType                EQU        $00                    ; result if matrix is identity 
  2031. translateMatrixType                EQU        $01                    ; result if matrix translates 
  2032. scaleMatrixType                    EQU        $02                    ; result if matrix scales 
  2033. scaleTranslateMatrixType        EQU        $03                    ; result if matrix scales and translates 
  2034. linearMatrixType                EQU        $04                    ; result if matrix is general 2 x 2 
  2035. linearTranslateMatrixType        EQU        $05                    ; result if matrix is general 2 x 2 and translates 
  2036. perspectiveMatrixType            EQU        $06                    ; result if matrix is general 3 x 3 
  2037. ; typedef unsigned short                 MatrixFlags
  2038.  
  2039. ;
  2040. ; pascal short GetMatrixType(const MatrixRecord *m)
  2041. ;
  2042.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2043.         Macro
  2044.         _GetMatrixType
  2045.             moveq               #20,D0
  2046.             dc.w                $ABC2
  2047.         EndM
  2048.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2049.         IMPORT_CFM_FUNCTION GetMatrixType
  2050.     ENDIF
  2051.  
  2052. ;
  2053. ; pascal void CopyMatrix(const MatrixRecord *m1, MatrixRecord *m2)
  2054. ;
  2055.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2056.         Macro
  2057.         _CopyMatrix
  2058.             moveq               #32,D0
  2059.             dc.w                $ABC2
  2060.         EndM
  2061.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2062.         IMPORT_CFM_FUNCTION CopyMatrix
  2063.     ENDIF
  2064.  
  2065. ;
  2066. ; pascal Boolean EqualMatrix(const MatrixRecord *m1, const MatrixRecord *m2)
  2067. ;
  2068.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2069.         Macro
  2070.         _EqualMatrix
  2071.             moveq               #33,D0
  2072.             dc.w                $ABC2
  2073.         EndM
  2074.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2075.         IMPORT_CFM_FUNCTION EqualMatrix
  2076.     ENDIF
  2077.  
  2078. ;
  2079. ; pascal void SetIdentityMatrix(MatrixRecord *matrix)
  2080. ;
  2081.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2082.         Macro
  2083.         _SetIdentityMatrix
  2084.             moveq               #21,D0
  2085.             dc.w                $ABC2
  2086.         EndM
  2087.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2088.         IMPORT_CFM_FUNCTION SetIdentityMatrix
  2089.     ENDIF
  2090.  
  2091. ;
  2092. ; pascal void TranslateMatrix(MatrixRecord *m, Fixed deltaH, Fixed deltaV)
  2093. ;
  2094.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2095.         Macro
  2096.         _TranslateMatrix
  2097.             moveq               #25,D0
  2098.             dc.w                $ABC2
  2099.         EndM
  2100.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2101.         IMPORT_CFM_FUNCTION TranslateMatrix
  2102.     ENDIF
  2103.  
  2104. ;
  2105. ; pascal void RotateMatrix(MatrixRecord *m, Fixed degrees, Fixed aboutX, Fixed aboutY)
  2106. ;
  2107.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2108.         Macro
  2109.         _RotateMatrix
  2110.             moveq               #22,D0
  2111.             dc.w                $ABC2
  2112.         EndM
  2113.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2114.         IMPORT_CFM_FUNCTION RotateMatrix
  2115.     ENDIF
  2116.  
  2117. ;
  2118. ; pascal void ScaleMatrix(MatrixRecord *m, Fixed scaleX, Fixed scaleY, Fixed aboutX, Fixed aboutY)
  2119. ;
  2120.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2121.         Macro
  2122.         _ScaleMatrix
  2123.             moveq               #23,D0
  2124.             dc.w                $ABC2
  2125.         EndM
  2126.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2127.         IMPORT_CFM_FUNCTION ScaleMatrix
  2128.     ENDIF
  2129.  
  2130. ;
  2131. ; pascal void SkewMatrix(MatrixRecord *m, Fixed skewX, Fixed skewY, Fixed aboutX, Fixed aboutY)
  2132. ;
  2133.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2134.         Macro
  2135.         _SkewMatrix
  2136.             moveq               #24,D0
  2137.             dc.w                $ABC2
  2138.         EndM
  2139.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2140.         IMPORT_CFM_FUNCTION SkewMatrix
  2141.     ENDIF
  2142.  
  2143. ;
  2144. ; pascal OSErr TransformFixedPoints(const MatrixRecord *m, FixedPoint *fpt, long count)
  2145. ;
  2146.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2147.         Macro
  2148.         _TransformFixedPoints
  2149.             moveq               #34,D0
  2150.             dc.w                $ABC2
  2151.         EndM
  2152.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2153.         IMPORT_CFM_FUNCTION TransformFixedPoints
  2154.     ENDIF
  2155.  
  2156. ;
  2157. ; pascal OSErr TransformPoints(const MatrixRecord *mp, Point *pt1, long count)
  2158. ;
  2159.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2160.         Macro
  2161.         _TransformPoints
  2162.             moveq               #35,D0
  2163.             dc.w                $ABC2
  2164.         EndM
  2165.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2166.         IMPORT_CFM_FUNCTION TransformPoints
  2167.     ENDIF
  2168.  
  2169. ;
  2170. ; pascal Boolean TransformFixedRect(const MatrixRecord *m, FixedRect *fr, FixedPoint *fpp)
  2171. ;
  2172.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2173.         Macro
  2174.         _TransformFixedRect
  2175.             moveq               #36,D0
  2176.             dc.w                $ABC2
  2177.         EndM
  2178.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2179.         IMPORT_CFM_FUNCTION TransformFixedRect
  2180.     ENDIF
  2181.  
  2182. ;
  2183. ; pascal Boolean TransformRect(const MatrixRecord *m, Rect *r, FixedPoint *fpp)
  2184. ;
  2185.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2186.         Macro
  2187.         _TransformRect
  2188.             moveq               #37,D0
  2189.             dc.w                $ABC2
  2190.         EndM
  2191.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2192.         IMPORT_CFM_FUNCTION TransformRect
  2193.     ENDIF
  2194.  
  2195. ;
  2196. ; pascal Boolean InverseMatrix(const MatrixRecord *m, MatrixRecord *im)
  2197. ;
  2198.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2199.         Macro
  2200.         _InverseMatrix
  2201.             moveq               #28,D0
  2202.             dc.w                $ABC2
  2203.         EndM
  2204.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2205.         IMPORT_CFM_FUNCTION InverseMatrix
  2206.     ENDIF
  2207.  
  2208. ;
  2209. ; pascal void ConcatMatrix(const MatrixRecord *a, MatrixRecord *b)
  2210. ;
  2211.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2212.         Macro
  2213.         _ConcatMatrix
  2214.             moveq               #27,D0
  2215.             dc.w                $ABC2
  2216.         EndM
  2217.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2218.         IMPORT_CFM_FUNCTION ConcatMatrix
  2219.     ENDIF
  2220.  
  2221. ;
  2222. ; pascal void RectMatrix(MatrixRecord *matrix, const Rect *srcRect, const Rect *dstRect)
  2223. ;
  2224.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2225.         Macro
  2226.         _RectMatrix
  2227.             moveq               #30,D0
  2228.             dc.w                $ABC2
  2229.         EndM
  2230.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2231.         IMPORT_CFM_FUNCTION RectMatrix
  2232.     ENDIF
  2233.  
  2234. ;
  2235. ; pascal void MapMatrix(MatrixRecord *matrix, const Rect *fromRect, const Rect *toRect)
  2236. ;
  2237.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2238.         Macro
  2239.         _MapMatrix
  2240.             moveq               #29,D0
  2241.             dc.w                $ABC2
  2242.         EndM
  2243.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2244.         IMPORT_CFM_FUNCTION MapMatrix
  2245.     ENDIF
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253. ;
  2254. ; pascal void CompAdd(wide *src, wide *dst)
  2255. ;
  2256.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2257.         Macro
  2258.         _CompAdd
  2259.             moveq               #1,D0
  2260.             dc.w                $ABC2
  2261.         EndM
  2262.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2263.         IMPORT_CFM_FUNCTION CompAdd
  2264.     ENDIF
  2265.  
  2266. ;
  2267. ; pascal void CompSub(wide *src, wide *dst)
  2268. ;
  2269.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2270.         Macro
  2271.         _CompSub
  2272.             moveq               #2,D0
  2273.             dc.w                $ABC2
  2274.         EndM
  2275.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2276.         IMPORT_CFM_FUNCTION CompSub
  2277.     ENDIF
  2278.  
  2279. ;
  2280. ; pascal void CompNeg(wide *dst)
  2281. ;
  2282.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2283.         Macro
  2284.         _CompNeg
  2285.             moveq               #3,D0
  2286.             dc.w                $ABC2
  2287.         EndM
  2288.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2289.         IMPORT_CFM_FUNCTION CompNeg
  2290.     ENDIF
  2291.  
  2292. ;
  2293. ; pascal void CompShift(wide *src, short shift)
  2294. ;
  2295.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2296.         Macro
  2297.         _CompShift
  2298.             moveq               #4,D0
  2299.             dc.w                $ABC2
  2300.         EndM
  2301.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2302.         IMPORT_CFM_FUNCTION CompShift
  2303.     ENDIF
  2304.  
  2305. ;
  2306. ; pascal void CompMul(long src1, long src2, wide *dst)
  2307. ;
  2308.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2309.         Macro
  2310.         _CompMul
  2311.             moveq               #5,D0
  2312.             dc.w                $ABC2
  2313.         EndM
  2314.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2315.         IMPORT_CFM_FUNCTION CompMul
  2316.     ENDIF
  2317.  
  2318. ;
  2319. ; pascal long CompDiv(wide *numerator, long denominator, long *remainder)
  2320. ;
  2321.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2322.         Macro
  2323.         _CompDiv
  2324.             moveq               #6,D0
  2325.             dc.w                $ABC2
  2326.         EndM
  2327.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2328.         IMPORT_CFM_FUNCTION CompDiv
  2329.     ENDIF
  2330.  
  2331. ;
  2332. ; pascal void CompFixMul(wide *compSrc, Fixed fixSrc, wide *compDst)
  2333. ;
  2334.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2335.         Macro
  2336.         _CompFixMul
  2337.             moveq               #7,D0
  2338.             dc.w                $ABC2
  2339.         EndM
  2340.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2341.         IMPORT_CFM_FUNCTION CompFixMul
  2342.     ENDIF
  2343.  
  2344. ;
  2345. ; pascal void CompMulDiv(wide *co, long mul, long divisor)
  2346. ;
  2347.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2348.         Macro
  2349.         _CompMulDiv
  2350.             moveq               #8,D0
  2351.             dc.w                $ABC2
  2352.         EndM
  2353.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2354.         IMPORT_CFM_FUNCTION CompMulDiv
  2355.     ENDIF
  2356.  
  2357. ;
  2358. ; pascal void CompMulDivTrunc(wide *co, long mul, long divisor, long *remainder)
  2359. ;
  2360.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2361.         Macro
  2362.         _CompMulDivTrunc
  2363.             moveq               #12,D0
  2364.             dc.w                $ABC2
  2365.         EndM
  2366.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2367.         IMPORT_CFM_FUNCTION CompMulDivTrunc
  2368.     ENDIF
  2369.  
  2370. ;
  2371. ; pascal long CompCompare(wide *a, wide *minusb)
  2372. ;
  2373.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2374.         Macro
  2375.         _CompCompare
  2376.             moveq               #9,D0
  2377.             dc.w                $ABC2
  2378.         EndM
  2379.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2380.         IMPORT_CFM_FUNCTION CompCompare
  2381.     ENDIF
  2382.  
  2383. ;
  2384. ; pascal unsigned long CompSquareRoot(const wide *src)
  2385. ;
  2386.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2387.         Macro
  2388.         _CompSquareRoot
  2389.             moveq               #17,D0
  2390.             dc.w                $ABC2
  2391.         EndM
  2392.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2393.         IMPORT_CFM_FUNCTION CompSquareRoot
  2394.     ENDIF
  2395.  
  2396. ;
  2397. ; pascal Fixed FixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2398. ;
  2399.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2400.         Macro
  2401.         _FixMulDiv
  2402.             moveq               #10,D0
  2403.             dc.w                $ABC2
  2404.         EndM
  2405.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2406.         IMPORT_CFM_FUNCTION FixMulDiv
  2407.     ENDIF
  2408.  
  2409. ;
  2410. ; pascal Fixed UnsignedFixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2411. ;
  2412.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2413.         Macro
  2414.         _UnsignedFixMulDiv
  2415.             moveq               #13,D0
  2416.             dc.w                $ABC2
  2417.         EndM
  2418.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2419.         IMPORT_CFM_FUNCTION UnsignedFixMulDiv
  2420.     ENDIF
  2421.  
  2422. ;
  2423. ; pascal Fract FracSinCos(Fixed degree, Fract *cosOut)
  2424. ;
  2425.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2426.         Macro
  2427.         _FracSinCos
  2428.             moveq               #11,D0
  2429.             dc.w                $ABC2
  2430.         EndM
  2431.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2432.         IMPORT_CFM_FUNCTION FracSinCos
  2433.     ENDIF
  2434.  
  2435. ;
  2436. ; pascal Fixed FixExp2(Fixed src)
  2437. ;
  2438.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2439.         Macro
  2440.         _FixExp2
  2441.             moveq               #14,D0
  2442.             dc.w                $ABC2
  2443.         EndM
  2444.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2445.         IMPORT_CFM_FUNCTION FixExp2
  2446.     ENDIF
  2447.  
  2448. ;
  2449. ; pascal Fixed FixLog2(Fixed src)
  2450. ;
  2451.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2452.         Macro
  2453.         _FixLog2
  2454.             moveq               #15,D0
  2455.             dc.w                $ABC2
  2456.         EndM
  2457.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2458.         IMPORT_CFM_FUNCTION FixLog2
  2459.     ENDIF
  2460.  
  2461. ;
  2462. ; pascal Fixed FixPow(Fixed base, Fixed exp)
  2463. ;
  2464.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2465.         Macro
  2466.         _FixPow
  2467.             moveq               #16,D0
  2468.             dc.w                $ABC2
  2469.         EndM
  2470.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2471.         IMPORT_CFM_FUNCTION FixPow
  2472.     ENDIF
  2473.  
  2474.  
  2475.  
  2476.  
  2477. ; typedef ComponentInstance             GraphicsImportComponent
  2478.  
  2479.  
  2480. GraphicsImporterComponentType    EQU        'grip'
  2481.  
  2482. graphicsImporterUsesImageDecompressor EQU $00800000
  2483.  
  2484. quickTimeImageFileImageDescriptionAtom EQU 'idsc'
  2485. quickTimeImageFileImageDataAtom    EQU        'idat'
  2486. quickTimeImageFileMetaDataAtom    EQU        'meta'
  2487.  
  2488. graphicsImporterDrawsAllPixels    EQU        0
  2489. graphicsImporterDoesntDrawAllPixels EQU    1
  2490. graphicsImporterDontKnowIfDrawAllPixels EQU 2
  2491.  
  2492. kGraphicsExportGroup            EQU        'expo'
  2493. kGraphicsExportFileType            EQU        'ftyp'
  2494. kGraphicsExportMIMEType            EQU        'mime'
  2495. kGraphicsExportExtension        EQU        'ext '
  2496. kGraphicsExportDescription        EQU        'desc'
  2497.  
  2498. ;
  2499. ; pascal ComponentResult GraphicsImportSetDataReference(GraphicsImportComponent ci, Handle dataRef, OSType dataReType)
  2500. ;
  2501.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2502.         Macro
  2503.         _GraphicsImportSetDataReference
  2504.             move.l              #$00080001,-(sp)
  2505.             moveq               #0,D0
  2506.             dc.w                $A82A
  2507.         EndM
  2508.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2509.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReference
  2510.     ENDIF
  2511.  
  2512. ;
  2513. ; pascal ComponentResult GraphicsImportGetDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataReType)
  2514. ;
  2515.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2516.         Macro
  2517.         _GraphicsImportGetDataReference
  2518.             move.l              #$00080002,-(sp)
  2519.             moveq               #0,D0
  2520.             dc.w                $A82A
  2521.         EndM
  2522.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2523.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReference
  2524.     ENDIF
  2525.  
  2526. ;
  2527. ; pascal ComponentResult GraphicsImportSetDataFile(GraphicsImportComponent ci, const FSSpec *theFile)
  2528. ;
  2529.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2530.         Macro
  2531.         _GraphicsImportSetDataFile
  2532.             move.l              #$00040003,-(sp)
  2533.             moveq               #0,D0
  2534.             dc.w                $A82A
  2535.         EndM
  2536.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2537.         IMPORT_CFM_FUNCTION GraphicsImportSetDataFile
  2538.     ENDIF
  2539.  
  2540. ;
  2541. ; pascal ComponentResult GraphicsImportGetDataFile(GraphicsImportComponent ci, FSSpec *theFile)
  2542. ;
  2543.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2544.         Macro
  2545.         _GraphicsImportGetDataFile
  2546.             move.l              #$00040004,-(sp)
  2547.             moveq               #0,D0
  2548.             dc.w                $A82A
  2549.         EndM
  2550.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2551.         IMPORT_CFM_FUNCTION GraphicsImportGetDataFile
  2552.     ENDIF
  2553.  
  2554. ;
  2555. ; pascal ComponentResult GraphicsImportSetDataHandle(GraphicsImportComponent ci, Handle h)
  2556. ;
  2557.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2558.         Macro
  2559.         _GraphicsImportSetDataHandle
  2560.             move.l              #$00040005,-(sp)
  2561.             moveq               #0,D0
  2562.             dc.w                $A82A
  2563.         EndM
  2564.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2565.         IMPORT_CFM_FUNCTION GraphicsImportSetDataHandle
  2566.     ENDIF
  2567.  
  2568. ;
  2569. ; pascal ComponentResult GraphicsImportGetDataHandle(GraphicsImportComponent ci, Handle *h)
  2570. ;
  2571.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2572.         Macro
  2573.         _GraphicsImportGetDataHandle
  2574.             move.l              #$00040006,-(sp)
  2575.             moveq               #0,D0
  2576.             dc.w                $A82A
  2577.         EndM
  2578.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2579.         IMPORT_CFM_FUNCTION GraphicsImportGetDataHandle
  2580.     ENDIF
  2581.  
  2582. ;
  2583. ; pascal ComponentResult GraphicsImportGetImageDescription(GraphicsImportComponent ci, ImageDescriptionHandle *desc)
  2584. ;
  2585.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2586.         Macro
  2587.         _GraphicsImportGetImageDescription
  2588.             move.l              #$00040007,-(sp)
  2589.             moveq               #0,D0
  2590.             dc.w                $A82A
  2591.         EndM
  2592.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2593.         IMPORT_CFM_FUNCTION GraphicsImportGetImageDescription
  2594.     ENDIF
  2595.  
  2596. ;
  2597. ; pascal ComponentResult GraphicsImportGetDataOffsetAndSize(GraphicsImportComponent ci, unsigned long *offset, unsigned long *size)
  2598. ;
  2599.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2600.         Macro
  2601.         _GraphicsImportGetDataOffsetAndSize
  2602.             move.l              #$00080008,-(sp)
  2603.             moveq               #0,D0
  2604.             dc.w                $A82A
  2605.         EndM
  2606.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2607.         IMPORT_CFM_FUNCTION GraphicsImportGetDataOffsetAndSize
  2608.     ENDIF
  2609.  
  2610. ;
  2611. ; pascal ComponentResult GraphicsImportReadData(GraphicsImportComponent ci, void *dataPtr, unsigned long dataOffset, unsigned long dataSize)
  2612. ;
  2613.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2614.         Macro
  2615.         _GraphicsImportReadData
  2616.             move.l              #$000C0009,-(sp)
  2617.             moveq               #0,D0
  2618.             dc.w                $A82A
  2619.         EndM
  2620.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2621.         IMPORT_CFM_FUNCTION GraphicsImportReadData
  2622.     ENDIF
  2623.  
  2624. ;
  2625. ; pascal ComponentResult GraphicsImportSetClip(GraphicsImportComponent ci, RgnHandle clipRgn)
  2626. ;
  2627.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2628.         Macro
  2629.         _GraphicsImportSetClip
  2630.             move.l              #$0004000A,-(sp)
  2631.             moveq               #0,D0
  2632.             dc.w                $A82A
  2633.         EndM
  2634.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2635.         IMPORT_CFM_FUNCTION GraphicsImportSetClip
  2636.     ENDIF
  2637.  
  2638. ;
  2639. ; pascal ComponentResult GraphicsImportGetClip(GraphicsImportComponent ci, RgnHandle *clipRgn)
  2640. ;
  2641.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2642.         Macro
  2643.         _GraphicsImportGetClip
  2644.             move.l              #$0004000B,-(sp)
  2645.             moveq               #0,D0
  2646.             dc.w                $A82A
  2647.         EndM
  2648.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2649.         IMPORT_CFM_FUNCTION GraphicsImportGetClip
  2650.     ENDIF
  2651.  
  2652. ;
  2653. ; pascal ComponentResult GraphicsImportSetSourceRect(GraphicsImportComponent ci, const Rect *sourceRect)
  2654. ;
  2655.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2656.         Macro
  2657.         _GraphicsImportSetSourceRect
  2658.             move.l              #$0004000C,-(sp)
  2659.             moveq               #0,D0
  2660.             dc.w                $A82A
  2661.         EndM
  2662.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2663.         IMPORT_CFM_FUNCTION GraphicsImportSetSourceRect
  2664.     ENDIF
  2665.  
  2666. ;
  2667. ; pascal ComponentResult GraphicsImportGetSourceRect(GraphicsImportComponent ci, Rect *sourceRect)
  2668. ;
  2669.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2670.         Macro
  2671.         _GraphicsImportGetSourceRect
  2672.             move.l              #$0004000D,-(sp)
  2673.             moveq               #0,D0
  2674.             dc.w                $A82A
  2675.         EndM
  2676.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2677.         IMPORT_CFM_FUNCTION GraphicsImportGetSourceRect
  2678.     ENDIF
  2679.  
  2680. ;
  2681. ; pascal ComponentResult GraphicsImportGetNaturalBounds(GraphicsImportComponent ci, Rect *naturalBounds)
  2682. ;
  2683.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2684.         Macro
  2685.         _GraphicsImportGetNaturalBounds
  2686.             move.l              #$0004000E,-(sp)
  2687.             moveq               #0,D0
  2688.             dc.w                $A82A
  2689.         EndM
  2690.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2691.         IMPORT_CFM_FUNCTION GraphicsImportGetNaturalBounds
  2692.     ENDIF
  2693.  
  2694. ;
  2695. ; pascal ComponentResult GraphicsImportDraw(GraphicsImportComponent ci)
  2696. ;
  2697.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2698.         Macro
  2699.         _GraphicsImportDraw
  2700.             move.l              #$0000000F,-(sp)
  2701.             moveq               #0,D0
  2702.             dc.w                $A82A
  2703.         EndM
  2704.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2705.         IMPORT_CFM_FUNCTION GraphicsImportDraw
  2706.     ENDIF
  2707.  
  2708. ;
  2709. ; pascal ComponentResult GraphicsImportSetGWorld(GraphicsImportComponent ci, CGrafPtr port, GDHandle gd)
  2710. ;
  2711.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2712.         Macro
  2713.         _GraphicsImportSetGWorld
  2714.             move.l              #$00080010,-(sp)
  2715.             moveq               #0,D0
  2716.             dc.w                $A82A
  2717.         EndM
  2718.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2719.         IMPORT_CFM_FUNCTION GraphicsImportSetGWorld
  2720.     ENDIF
  2721.  
  2722. ;
  2723. ; pascal ComponentResult GraphicsImportGetGWorld(GraphicsImportComponent ci, CGrafPtr *port, GDHandle *gd)
  2724. ;
  2725.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2726.         Macro
  2727.         _GraphicsImportGetGWorld
  2728.             move.l              #$00080011,-(sp)
  2729.             moveq               #0,D0
  2730.             dc.w                $A82A
  2731.         EndM
  2732.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2733.         IMPORT_CFM_FUNCTION GraphicsImportGetGWorld
  2734.     ENDIF
  2735.  
  2736. ;
  2737. ; pascal ComponentResult GraphicsImportSetMatrix(GraphicsImportComponent ci, const MatrixRecord *matrix)
  2738. ;
  2739.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2740.         Macro
  2741.         _GraphicsImportSetMatrix
  2742.             move.l              #$00040012,-(sp)
  2743.             moveq               #0,D0
  2744.             dc.w                $A82A
  2745.         EndM
  2746.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2747.         IMPORT_CFM_FUNCTION GraphicsImportSetMatrix
  2748.     ENDIF
  2749.  
  2750. ;
  2751. ; pascal ComponentResult GraphicsImportGetMatrix(GraphicsImportComponent ci, MatrixRecord *matrix)
  2752. ;
  2753.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2754.         Macro
  2755.         _GraphicsImportGetMatrix
  2756.             move.l              #$00040013,-(sp)
  2757.             moveq               #0,D0
  2758.             dc.w                $A82A
  2759.         EndM
  2760.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2761.         IMPORT_CFM_FUNCTION GraphicsImportGetMatrix
  2762.     ENDIF
  2763.  
  2764. ;
  2765. ; pascal ComponentResult GraphicsImportSetBoundsRect(GraphicsImportComponent ci, const Rect *bounds)
  2766. ;
  2767.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2768.         Macro
  2769.         _GraphicsImportSetBoundsRect
  2770.             move.l              #$00040014,-(sp)
  2771.             moveq               #0,D0
  2772.             dc.w                $A82A
  2773.         EndM
  2774.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2775.         IMPORT_CFM_FUNCTION GraphicsImportSetBoundsRect
  2776.     ENDIF
  2777.  
  2778. ;
  2779. ; pascal ComponentResult GraphicsImportGetBoundsRect(GraphicsImportComponent ci, Rect *bounds)
  2780. ;
  2781.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2782.         Macro
  2783.         _GraphicsImportGetBoundsRect
  2784.             move.l              #$00040015,-(sp)
  2785.             moveq               #0,D0
  2786.             dc.w                $A82A
  2787.         EndM
  2788.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2789.         IMPORT_CFM_FUNCTION GraphicsImportGetBoundsRect
  2790.     ENDIF
  2791.  
  2792. ;
  2793. ; pascal ComponentResult GraphicsImportSaveAsPicture(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2794. ;
  2795.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2796.         Macro
  2797.         _GraphicsImportSaveAsPicture
  2798.             move.l              #$00060016,-(sp)
  2799.             moveq               #0,D0
  2800.             dc.w                $A82A
  2801.         EndM
  2802.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2803.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsPicture
  2804.     ENDIF
  2805.  
  2806. ;
  2807. ; pascal ComponentResult GraphicsImportSetGraphicsMode(GraphicsImportComponent ci, long graphicsMode, const RGBColor *opColor)
  2808. ;
  2809.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2810.         Macro
  2811.         _GraphicsImportSetGraphicsMode
  2812.             move.l              #$00080017,-(sp)
  2813.             moveq               #0,D0
  2814.             dc.w                $A82A
  2815.         EndM
  2816.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2817.         IMPORT_CFM_FUNCTION GraphicsImportSetGraphicsMode
  2818.     ENDIF
  2819.  
  2820. ;
  2821. ; pascal ComponentResult GraphicsImportGetGraphicsMode(GraphicsImportComponent ci, long *graphicsMode, RGBColor *opColor)
  2822. ;
  2823.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2824.         Macro
  2825.         _GraphicsImportGetGraphicsMode
  2826.             move.l              #$00080018,-(sp)
  2827.             moveq               #0,D0
  2828.             dc.w                $A82A
  2829.         EndM
  2830.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2831.         IMPORT_CFM_FUNCTION GraphicsImportGetGraphicsMode
  2832.     ENDIF
  2833.  
  2834. ;
  2835. ; pascal ComponentResult GraphicsImportSetQuality(GraphicsImportComponent ci, CodecQ quality)
  2836. ;
  2837.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2838.         Macro
  2839.         _GraphicsImportSetQuality
  2840.             move.l              #$00040019,-(sp)
  2841.             moveq               #0,D0
  2842.             dc.w                $A82A
  2843.         EndM
  2844.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2845.         IMPORT_CFM_FUNCTION GraphicsImportSetQuality
  2846.     ENDIF
  2847.  
  2848. ;
  2849. ; pascal ComponentResult GraphicsImportGetQuality(GraphicsImportComponent ci, CodecQ *quality)
  2850. ;
  2851.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2852.         Macro
  2853.         _GraphicsImportGetQuality
  2854.             move.l              #$0004001A,-(sp)
  2855.             moveq               #0,D0
  2856.             dc.w                $A82A
  2857.         EndM
  2858.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2859.         IMPORT_CFM_FUNCTION GraphicsImportGetQuality
  2860.     ENDIF
  2861.  
  2862. ;
  2863. ; pascal ComponentResult GraphicsImportSaveAsQuickTimeImageFile(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2864. ;
  2865.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2866.         Macro
  2867.         _GraphicsImportSaveAsQuickTimeImageFile
  2868.             move.l              #$0006001B,-(sp)
  2869.             moveq               #0,D0
  2870.             dc.w                $A82A
  2871.         EndM
  2872.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2873.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsQuickTimeImageFile
  2874.     ENDIF
  2875.  
  2876. ;
  2877. ; pascal ComponentResult GraphicsImportSetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long offset, unsigned long limit)
  2878. ;
  2879.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2880.         Macro
  2881.         _GraphicsImportSetDataReferenceOffsetAndLimit
  2882.             move.l              #$0008001C,-(sp)
  2883.             moveq               #0,D0
  2884.             dc.w                $A82A
  2885.         EndM
  2886.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2887.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReferenceOffsetAndLimit
  2888.     ENDIF
  2889.  
  2890. ;
  2891. ; pascal ComponentResult GraphicsImportGetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long *offset, unsigned long *limit)
  2892. ;
  2893.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2894.         Macro
  2895.         _GraphicsImportGetDataReferenceOffsetAndLimit
  2896.             move.l              #$0008001D,-(sp)
  2897.             moveq               #0,D0
  2898.             dc.w                $A82A
  2899.         EndM
  2900.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2901.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReferenceOffsetAndLimit
  2902.     ENDIF
  2903.  
  2904. ;
  2905. ; pascal ComponentResult GraphicsImportGetAliasedDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataRefType)
  2906. ;
  2907.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2908.         Macro
  2909.         _GraphicsImportGetAliasedDataReference
  2910.             move.l              #$0008001E,-(sp)
  2911.             moveq               #0,D0
  2912.             dc.w                $A82A
  2913.         EndM
  2914.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2915.         IMPORT_CFM_FUNCTION GraphicsImportGetAliasedDataReference
  2916.     ENDIF
  2917.  
  2918. ;
  2919. ; pascal ComponentResult GraphicsImportValidate(GraphicsImportComponent ci, Boolean *valid)
  2920. ;
  2921.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2922.         Macro
  2923.         _GraphicsImportValidate
  2924.             move.l              #$0004001F,-(sp)
  2925.             moveq               #0,D0
  2926.             dc.w                $A82A
  2927.         EndM
  2928.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2929.         IMPORT_CFM_FUNCTION GraphicsImportValidate
  2930.     ENDIF
  2931.  
  2932. ;
  2933. ; pascal ComponentResult GraphicsImportGetMetaData(GraphicsImportComponent ci, void *userData)
  2934. ;
  2935.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2936.         Macro
  2937.         _GraphicsImportGetMetaData
  2938.             move.l              #$00040020,-(sp)
  2939.             moveq               #0,D0
  2940.             dc.w                $A82A
  2941.         EndM
  2942.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2943.         IMPORT_CFM_FUNCTION GraphicsImportGetMetaData
  2944.     ENDIF
  2945.  
  2946. ;
  2947. ; pascal ComponentResult GraphicsImportGetMIMETypeList(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  2948. ;
  2949.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2950.         Macro
  2951.         _GraphicsImportGetMIMETypeList
  2952.             move.l              #$00040021,-(sp)
  2953.             moveq               #0,D0
  2954.             dc.w                $A82A
  2955.         EndM
  2956.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2957.         IMPORT_CFM_FUNCTION GraphicsImportGetMIMETypeList
  2958.     ENDIF
  2959.  
  2960. ;
  2961. ; pascal ComponentResult GraphicsImportDoesDrawAllPixels(GraphicsImportComponent ci, short *drawsAllPixels)
  2962. ;
  2963.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2964.         Macro
  2965.         _GraphicsImportDoesDrawAllPixels
  2966.             move.l              #$00040022,-(sp)
  2967.             moveq               #0,D0
  2968.             dc.w                $A82A
  2969.         EndM
  2970.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2971.         IMPORT_CFM_FUNCTION GraphicsImportDoesDrawAllPixels
  2972.     ENDIF
  2973.  
  2974. ;
  2975. ; pascal ComponentResult GraphicsImportGetAsPicture(GraphicsImportComponent ci, PicHandle *picture)
  2976. ;
  2977.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2978.         Macro
  2979.         _GraphicsImportGetAsPicture
  2980.             move.l              #$00040023,-(sp)
  2981.             moveq               #0,D0
  2982.             dc.w                $A82A
  2983.         EndM
  2984.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2985.         IMPORT_CFM_FUNCTION GraphicsImportGetAsPicture
  2986.     ENDIF
  2987.  
  2988. ;
  2989. ; pascal ComponentResult GraphicsImportExportImageFile(GraphicsImportComponent ci, OSType fileType, OSType fileCreator, const FSSpec *fss, ScriptCode scriptTag)
  2990. ;
  2991.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2992.         Macro
  2993.         _GraphicsImportExportImageFile
  2994.             move.l              #$000E0024,-(sp)
  2995.             moveq               #0,D0
  2996.             dc.w                $A82A
  2997.         EndM
  2998.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2999.         IMPORT_CFM_FUNCTION GraphicsImportExportImageFile
  3000.     ENDIF
  3001.  
  3002. ;
  3003. ; pascal ComponentResult GraphicsImportGetExportImageTypeList(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  3004. ;
  3005.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3006.         Macro
  3007.         _GraphicsImportGetExportImageTypeList
  3008.             move.l              #$00040025,-(sp)
  3009.             moveq               #0,D0
  3010.             dc.w                $A82A
  3011.         EndM
  3012.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3013.         IMPORT_CFM_FUNCTION GraphicsImportGetExportImageTypeList
  3014.     ENDIF
  3015.  
  3016. ;
  3017. ; pascal ComponentResult GraphicsImportDoExportImageFileDialog(GraphicsImportComponent ci, const FSSpec *inDefaultSpec, StringPtr prompt, ModalFilterYDUPP filterProc, OSType *outExportedType, FSSpec *outExportedSpec, ScriptCode *outScriptTag)
  3018. ;
  3019.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3020.         Macro
  3021.         _GraphicsImportDoExportImageFileDialog
  3022.             move.l              #$00180026,-(sp)
  3023.             moveq               #0,D0
  3024.             dc.w                $A82A
  3025.         EndM
  3026.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3027.         IMPORT_CFM_FUNCTION GraphicsImportDoExportImageFileDialog
  3028.     ENDIF
  3029.  
  3030. ;
  3031. ; pascal ComponentResult GraphicsImportGetExportSettingsAsAtomContainer(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  3032. ;
  3033.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3034.         Macro
  3035.         _GraphicsImportGetExportSettingsAsAtomContainer
  3036.             move.l              #$00040027,-(sp)
  3037.             moveq               #0,D0
  3038.             dc.w                $A82A
  3039.         EndM
  3040.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3041.         IMPORT_CFM_FUNCTION GraphicsImportGetExportSettingsAsAtomContainer
  3042.     ENDIF
  3043.  
  3044. ;
  3045. ; pascal ComponentResult GraphicsImportSetExportSettingsFromAtomContainer(GraphicsImportComponent ci, void *qtAtomContainer)
  3046. ;
  3047.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3048.         Macro
  3049.         _GraphicsImportSetExportSettingsFromAtomContainer
  3050.             move.l              #$00040028,-(sp)
  3051.             moveq               #0,D0
  3052.             dc.w                $A82A
  3053.         EndM
  3054.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3055.         IMPORT_CFM_FUNCTION GraphicsImportSetExportSettingsFromAtomContainer
  3056.     ENDIF
  3057.  
  3058. ;
  3059. ; pascal ComponentResult GraphicsImportSetProgressProc(GraphicsImportComponent ci, ICMProgressProcRecordPtr progressProc)
  3060. ;
  3061.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3062.         Macro
  3063.         _GraphicsImportSetProgressProc
  3064.             move.l              #$00040029,-(sp)
  3065.             moveq               #0,D0
  3066.             dc.w                $A82A
  3067.         EndM
  3068.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3069.         IMPORT_CFM_FUNCTION GraphicsImportSetProgressProc
  3070.     ENDIF
  3071.  
  3072. ;
  3073. ; pascal ComponentResult GraphicsImportGetProgressProc(GraphicsImportComponent ci, ICMProgressProcRecordPtr progressProc)
  3074. ;
  3075.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3076.         Macro
  3077.         _GraphicsImportGetProgressProc
  3078.             move.l              #$0004002A,-(sp)
  3079.             moveq               #0,D0
  3080.             dc.w                $A82A
  3081.         EndM
  3082.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3083.         IMPORT_CFM_FUNCTION GraphicsImportGetProgressProc
  3084.     ENDIF
  3085.  
  3086.  
  3087. ; typedef ComponentInstance             ImageTranscoderComponent
  3088.  
  3089.  
  3090. ImageTranscodererComponentType    EQU        'imtc'
  3091.  
  3092. ;
  3093. ; pascal ComponentResult ImageTranscoderBeginSequence(ImageTranscoderComponent itc, ImageDescriptionHandle srcDesc, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  3094. ;
  3095.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3096.         Macro
  3097.         _ImageTranscoderBeginSequence
  3098.             move.l              #$00100001,-(sp)
  3099.             moveq               #0,D0
  3100.             dc.w                $A82A
  3101.         EndM
  3102.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3103.         IMPORT_CFM_FUNCTION ImageTranscoderBeginSequence
  3104.     ENDIF
  3105.  
  3106. ;
  3107. ; pascal ComponentResult ImageTranscoderConvert(ImageTranscoderComponent itc, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  3108. ;
  3109.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3110.         Macro
  3111.         _ImageTranscoderConvert
  3112.             move.l              #$00100002,-(sp)
  3113.             moveq               #0,D0
  3114.             dc.w                $A82A
  3115.         EndM
  3116.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3117.         IMPORT_CFM_FUNCTION ImageTranscoderConvert
  3118.     ENDIF
  3119.  
  3120. ;
  3121. ; pascal ComponentResult ImageTranscoderDisposeData(ImageTranscoderComponent itc, void *dstData)
  3122. ;
  3123.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3124.         Macro
  3125.         _ImageTranscoderDisposeData
  3126.             move.l              #$00040003,-(sp)
  3127.             moveq               #0,D0
  3128.             dc.w                $A82A
  3129.         EndM
  3130.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3131.         IMPORT_CFM_FUNCTION ImageTranscoderDisposeData
  3132.     ENDIF
  3133.  
  3134. ;
  3135. ; pascal ComponentResult ImageTranscoderEndSequence(ImageTranscoderComponent itc)
  3136. ;
  3137.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3138.         Macro
  3139.         _ImageTranscoderEndSequence
  3140.             move.l              #$00000004,-(sp)
  3141.             moveq               #0,D0
  3142.             dc.w                $A82A
  3143.         EndM
  3144.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3145.         IMPORT_CFM_FUNCTION ImageTranscoderEndSequence
  3146.     ENDIF
  3147.  
  3148. ;  UPP call backs 
  3149.     ENDIF ; __IMAGECOMPRESSION__ 
  3150.  
  3151.